我正在尝试制作商店应用。 我有以下型号
class Item(models.Model):
name = models.CharField(max_length=200)
class Order(models.Model):
item = models.ManyToManyField(Item)
所以我想要实现的是在一个订单中添加许多项目,但我还想指定订单中每个项目的数量,但我无法找到一个好方法。我想在创建订单后覆盖save()
,并创建一个自定义表单,为每个添加的项目请求数量。但也许有更好/更简单的方法来实现这一目标?
答案 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