我有一个模特Foo。与Moo有许多关系。
现在Foo在其多对多领域有很多对象,即它有moo1,moo2,moo3等等 如何将所有对象一起删除? 我知道我们可以单独删除每个。
foo = FOO()
foo.save()
foo.moo.add(moo1)
foo.moo.remove(moo1)
即。
foo = FOO()
foo.save()
foo.moo.add(moo1)
foo.moo.add(moo2)
foo.moo.reset() # This should remove all objects that have been added
# in this field. This does not work but I want
# something like this.
答案 0 :(得分:4)
使用clear
方法。
从相关对象集中删除所有对象:
b = Blog.objects.get(id=1)
b.entry_set.clear()
请注意,这不会删除相关对象 - 它只会取消它们的关联。
就像remove()一样,clear()仅在ForeignKeys上可用 空=真。
答案 1 :(得分:2)
我认为foo.moo.clear()应该有效
答案 2 :(得分:0)
使用相关对象清除方法clear clear()
解除所有与Foo相关的对象的关联
moo.foo_set.clear()
要删除对象,请使用delete()
queryset方法
Foo.objects.all().delete()
您可以使用filter()
默认管理器方法删除一个对象
Foo.objects.filter(name='moo1').delete()