你应该有这样的结构。
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以便您可以按值过滤掉。