我现在有这样的模型:收据包含组件。组件包含产品。
组件与产品的区别在于,该组件具有数量和度量单位: 例如。成分是100克糖 - 糖是一种产品。
所以我需要制作很多成分来满足不同的配方--100克糖不等于200克糖
我想知道我是否可以重新构建它以启动组件 - 在纯sql中它很容易,但我正在尝试使用django - 而不是制定解决方法。
class Receipt(models.Model):
name = models.CharField(max_length=128)
(...)
components = models.ManyToManyField(Component)
class Component(models.Model):
quantity = models.FloatField(max_length=9)
unit = models.ForeignKey(Unit)
product = models.ForeignKey(Product)
class Product(models.Model):
name = models.CharField(max_length = 128)
TIA
答案 0 :(得分:4)
如果在Receipt模型中使用“through”使用ManyToMany关系,则可以删除Component模型: http://docs.djangoproject.com/en/1.2/topics/db/models/#intermediary-manytomany