Python Django:更改查询集中所有对象的字段值

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/34833000/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-19 15:34:59  来源:igfitidea点击:

Django: change the value of a field for all objects in a queryset

pythondjangodjango-queryset

提问by 43Tesseracts

I have a model MyModelwith a boolean field active

我有一个MyModel带有布尔字段的模型active

Elsewhere, I am retrieving a queryset:

在其他地方,我正在检索一个查询集:

qs = MyModel.Objects.filter(....) 

how can I set active=Falsefor all objects in this qs?

我如何active=False为这个中的所有对象设置qs

采纳答案by Pynchia

You can update all the records in the queryset with

您可以使用以下命令更新查询集中的所有记录

qs.update(active=False)

Please refer to the official Django documentationfor more info

有关更多信息,请参阅官方Django 文档

回答by Michael Stachura

And of course you can pass many arguments to update e.g.:

当然,您可以传递许多参数来更新,例如:

qs.update(active=False, is_deleted=True, date_finished=timezone.now())