Изменение атрибута для каждого объекта в наборе запросов - PullRequest
2 голосов
/ 11 июня 2009

Я использую Django больше года, но я думаю, что упустил кое-что очень фундаментальное. У меня довольно большой набор запросов (более 1000 объектов), и я хотел бы изменить один атрибут для каждого из объектов в этом наборе запросов. Это действительно путь? Я уверен, что есть что-то попроще?

for obj in qs:
  obj.my_attr = True 
  obj.save()

Спасибо

1 Ответ

15 голосов
/ 11 июня 2009

Вы можете просто сделать массовые изменения, хотя это не вызовет обратные вызовы save() модели:

MyModel.objects.filter(..).update(my_attr=True)

Документация: Обновление нескольких объектов одновременно

...