Queryset 内のオブジェクトを削除しながら、Django QuerySet を反復処理する最良の方法は何ですか? たとえば、特定の時間のエントリを含むログ テーブルがあり、5 分ごとにエントリが 1 つを超えないようにアーカイブしたいとします。私はこれが間違っているかもしれないことを知っていますが、これは私がしようとしていることのようなものです:
toarchive = Log.objects.all().order_by("-date")
start = toarchive[0].date
interval = start - datetime.timedelta(minutes=5)
for entry in toarchive[1:]:
if entry.date > interval:
entry.delete()
else:
interval = entry.date - datetime.timedelta(minutes=5)