在测试(装置)我想添加字段与ManyToMany字段与'通过'关系,即
my_field = models.ManyToManyField(SomeModel, through=AnotherModel).
尝试像常规ManyToManyField一样添加:
object.my_field.add(my_field)
但它给了我一个警告enter image description here
我也试过这个:
object.my_field.add(my_field, through_defaults=AnotherModel)
也没有用
1条答案
按热度按时间hzbexzde1#
您只需构造一个
AnotherModel
对象,因此:如果
AnotherModel
包含没有默认值的额外字段,则还需要指定这些字段。或者你可以使用**
.add(…)
[Django-doc],其中through_defaults
应该包含一个dictionary**,其中包含要传递给AnotherModel
的值:有关
through_defaults
的详细信息,请参阅文档的 * 多对多关系的额外字段 * 部分。这包含一个示例,如:在这个例子中,
beatles
对象的members
是一个具有中间模型的ManyToManyField
,这里我们将date(1960, 8, 1)
填充为该模型中date_joined
的值。