在django中手动添加多个到多个字段(M2M)?

时间:2012-07-05 22:54:11

标签: django model m2m

我的django模型项目中有一个M2M字段。在我看来,我想用update()函数更新模型实例。我知道,为了更新其他普通字段,我们可以传递字段的字典。 但是如何将M2M字段传递给update()函数?

2 个答案:

答案 0 :(得分:5)

您可以使用add()函数(update()之外)轻松地向ManyToManyField添加关系:

blog.entries.add(post_1, post_2 ...)

答案 1 :(得分:0)

更新manytomany字段,您需要获取子类的实例,然后应用更新函数。

y类:

 b = Text Field

第X类:

 y = ManyToMany(y)

代码:

for y in x.y.all():
    if y: meet you condition for which row to update
       y.update(b='update')

我猜django确实知道支持update()与M2M,因为它只是创建关联表以获得支持,它无法理解关联表中要更新的哪一行。