【发布时间】:2012-07-05 22:54:10
【问题描述】:
我的 django 模型项目中有一个 M2M 字段。在我看来,我想使用 update() 函数更新模型实例。我知道要更新其他普通字段,我们可以传递字段字典。 但是如何将 M2M 字段传递给 update() 函数?
【问题讨论】:
我的 django 模型项目中有一个 M2M 字段。在我看来,我想使用 update() 函数更新模型实例。我知道要更新其他普通字段,我们可以传递字段字典。 但是如何将 M2M 字段传递给 update() 函数?
【问题讨论】:
您可以使用add() 函数(在您的update() 之外)轻松地将关系添加到ManyToManyField:
blog.entries.add(post_1, post_2 ...)
【讨论】:
更新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,因为它只是为支持创建关联表,它无法理解关联表中的哪一行要更新。
【讨论】: