django shop app模型定义

时间:2016-06-19 20:56:35

标签: django django-models model many-to-many

我正在尝试制作商店应用。 我有以下型号

class Item(models.Model):
    name = models.CharField(max_length=200)

class Order(models.Model):
    item = models.ManyToManyField(Item)

所以我想要实现的是在一个订单中添加许多项目,但我还想指定订单中每个项目的数量,但我无法找到一个好方法。我想在创建订单后覆盖save(),并创建一个自定义表单,为每个添加的项目请求数量。但也许有更好/更简单的方法来实现这一目标?

1 个答案:

答案 0 :(得分:1)

Extra fields on many-to-many relationships

  

当你只处理简单的多对多关系时   作为混合和匹配的比萨饼和浇头,标准的ManyToManyField   是你所需要的全部。但是,有时您可能需要关联数据   与两个模型之间的关系。

  

对于这些情况,Django允许您指定将要使用的模型   用于管理多对多关系。你可以放   中间模型上的额外字段。中间模型是   使用through参数与ManyToManyField相关联   指向将充当中间人的模型。对于我们的音乐家   例如,代码看起来像这样:

所以我们需要另一种模式。我们称之为Keep.right吗?

source.toMat(sink)(Keep.both)   yields   a tuple (mat.value of source, mat.value of sink)

只需将您的多对多字段改为

即可
OrderItem