我的django应用程序中有以下模型:
产品型号:
class Product(BaseModel):
company = models.ForeignKey(Company, null=True, blank=True)
title = models.CharField(max_length=128,verbose_name="Product title")
订单型号:
class Order(BaseModel):
company = models.ForeignKey(Company)
products = models.ManyToManyField(Product)
我无法将多个相同的产品添加到订单中。 例如,我有一个名为“Car”的产品,如何将多个Car对象添加到单个订单中?你知道吗
每个订单可能包含多个产品(相同或不相同)。你知道吗
与外键的多对多关系是反向工作的。在订单模型中不需要外键。您需要的是产品模型中链接到订单的外键(每个产品都有一个订单):
您需要为该任务使用第三个表,例如:
然后可以使用中间表https://docs.djangoproject.com/en/dev/topics/db/models/#intermediary-manytomany
与普通的多对多字段不同,不能使用add、create或assignment(即
order.products.add(prod)
)来创建关系。您应该在through
表中手动创建记录:检查以下问题:
相关问题 更多 >
编程相关推荐