如何更新 Django 查询集中所有对象的字段值?

How can I update the field value of all objects in a queryset in Django?

我想将字段 'volume' 更新为 volume += change_by。 我想通过 'change_by' 变量为查询集中的所有对象增加该字段的现有值,无论 'change_by' 变量包含什么。

queryset = QueueStatusModel.objects.all()
queryset.update(volume+=iph_change)

这没有用。有人可以帮忙吗?

对查询集的每个对象使用 for 循环。

queryset = QueueStatusModel.objects.all() 

for q in queryset:
    q.volume += iph_change
    q.save()

注意:对于通过此视图函数的每个请求,这将增加 QueueStatusModel 的任何对象的数量

感谢@iklinac 评论中的文档 link 从该文档中我可以找到这个:

queryset.update(volume=F('volume') + iph_change)