我正在尝试为Django模型的以下问题找到解决方案: 该应用程序会将产品添加到购物车。问题在于这些产品来自不同的型号,无论它们来自何处,我都想使用一个ManyToManyField来合并它们。
支持我有两种不同型号的两种产品:
Class ListOfProducts1(models.Model):
name= CharField()
price= IntegerField()
Class ListOfProducts2(models.Model):
name=CharField()
price=IntegerField()
以下模型将用于获取数量和添加的产品(然后与一个特定订单相关)。 这是问题所在。看一下添加的字段项目,我想将此字段与ListOfProducts 1和2关联起来。我将它们都放在了同一字段中,但是我已经知道这是不可能的。为了更好地理解这里的问题,您可以:
Class ProductsOrdered(models.Model):
itemsadded= OneToOneField(ListOfProducts1 and ListOfProducts2,on_delete=models.CASCADE)
Quantity = IntegerField()
然后订购的模型:
Class Orders(models.Model):
cart= ManyToManyField(ProductsOrdered)
答案 0 :(得分:0)
OneToOne字段只能引用一个表。
但是您可以使用GenericForeignKey或其他替代方法(更好)。
查看这篇文章:Avoid Django’s GenericForeignKey。它描述了替代方法,例如: