3

私は Django を 1 年以上使用していますが、非常に基本的なことを見逃していると思います。かなり大きなクエリセット (1000 以上のオブジェクト) があり、そのクエリセット内のオブジェクトごとに 1 つの属性を変更したいと考えています。これは本当に進むべき道ですか?もっと簡単なものがあると確信していますか?

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

ありがとう

4

1 に答える 1

17

save()モデルのコールバックは起動しませんが、一括で変更を行うことができます。

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

ドキュメント:一度に複数のオブジェクトを更新する

于 2009-06-11T11:30:57.803 に答える