修改查询集中每个对象的属性

Den*_*gan 2 django attributes django-models django-queryset

我已经使用Django超过一年,但我想我错过了一些非常基本的东西.我有一个相当大的查询集(1000多个对象),我想为该查询集中的每个对象更改一个属性.这真的是要走的路吗?我确定有更简单的东西?

for obj in qs:
  obj.my_attr = True 
  obj.save()
Run Code Online (Sandbox Code Playgroud)

谢谢

Pao*_*ino 15

您可以批量进行更改,但这不会触发模型的save()回调:

MyModel.objects.filter(..).update(my_attr=True)
Run Code Online (Sandbox Code Playgroud)

文档:一次更新多个对象