如何从Django中的queryset中删除多对多

如何从Django中的queryset中删除多对多,django,many-to-many,bulkupdate,Django,Many To Many,Bulkupdate,我有一个查询集 Class SmallFoo(Model): text = models.CharField() Class Foo(Model): small_foo = models.ManyToManyField(SmallFoo) e、 g.Foo.objects.filter(id\u-in=[2,4,6]).update(small\u-Foo\u-remove=[1,2]) 我想做类似于上面的事情,即对于查询集,更新所有查询集的manytomany字段。有可

我有一个查询集

Class SmallFoo(Model):
     text = models.CharField()

Class Foo(Model):
     small_foo = models.ManyToManyField(SmallFoo)
e、 g.
Foo.objects.filter(id\u-in=[2,4,6]).update(small\u-Foo\u-remove=[1,2])

我想做类似于上面的事情,即对于查询集,更新所有查询集的manytomany字段。有可能吗?
我不想迭代queryset中的每个对象,并为它们发出单独的查询。(这花费了太多时间)

不确定这是否有助于你的健康,但你可以试试这个

[f.small_foo.all().update(text="test") for f in Foo.objects.all()]

您仍然需要迭代Foo,但同时更新所有相关的SmallFoo

不幸的是,我希望避免执行上述操作。因为我有5000个Foo对象,对它们进行迭代需要几秒钟,我希望避免这种情况。