如何更新 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)
我想将字段 '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)