0
私はDjangoバックエンドのパフォーマンスを最適化しようとしています。私はDjango Simple History(https://django-simple-history.readthedocs.io/en/latest/)で追跡するモデルユーザーを持っています。履歴の削除を伴うDjango一括更新
自分のユーザーモデルを一括更新して履歴から削除したいと考えています。個々のユーザーの場合、これは次のようになります。
u = User.objects.get(id=user_id)
u.name = "new name"
u.save()
u.history.first().delete() # I don't want to track this change.
パフォーマンスに優れていますか?
オプション1:
users = User.objects.filter(needs_updating=True)
for user in users:
user.name = "New name"
user.save()
user.history.first().delete()
オプション2:
User.objects.filter(needs_updating=True).update(name="new name")
User.history.filter(name="new name").delete()