0

4番目のテーブル名Pivotで相互に関連することを示したい3つのテーブルがあります

# Manufacturer
id | name

# Product
id |name

# Part 
id| name

# Pivot
id | part_name_fk | product_name_fk | manufacturer_name_fk

...そして「ピボット」を参照する5番目のテーブル

# Report 
id |pivot_record_fk|this_week_use

これは3つのエンティティを「関連付ける」正しい方法ですか?

ありがとう。

4

1 に答える 1

1

このように構成する必要があります。

class Manufacturer(models.Model):
    name = models.CharField()

class Product(models.Model):
    name = models.CharField()
    manufacturer = models.ForeignKey(Manufacturer, related_name="products")

class Part(models.Model):
    name = models.CharField()
    manufacturer = models.ForeignKey(Product, related_name="parts")

class Report(models.Model):
    manufacturer = models.ForeignKey(Manufacturer, related_name="reports")
    this_week_use

次に、レポートで、次を使用して、パーツの名前に基づいて (必要に応じて) フィルターで除外できます。

Report.objects.filter(manufacturer__product__part__name="Nail")

管理者に関しては、ReportAdmin クラスにメソッドを追加し、list_display プロパティでそれらを参照することにより、管理者にさまざまなプロパティを表示させることができます。それらをlist_filterに追加して、値で除外することもできます。

于 2013-08-13T02:09:58.653 に答える