このサイトの Django の監査証跡を使用しています。
これは私が現在自分の履歴にアクセスしている方法です:
for m in MyModel.objects.all() :
for h in m.history.all() :
print h
これにより、データベース内のモデルごとに SQL クエリが作成されます。単一の SQL クエリですべての履歴要素を取得することは可能ですか?
編集: 関連するモデルをプリフェッチする通常の方法が機能していません:
MyModel.objects.prefetch_related('history')
ValueError を発生させます:'history' does not resolve to a item that supports prefetching