私のジャンゴアプリには「ドキュメント」があります。各ドキュメントには、作成日順に並べられた 1 つ以上の「リビジョン」があります。すべてのドキュメントの最新のリビジョンを取得する方法が必要です。私がこれまでに持っている最高のものは以下のコードですが、より少ないデータベースクエリでこれを行う方法があるに違いないと思いますか?
def get_document_templates():
result = []
for d in Document.objects.filter(is_template=True).all():
result.append(d.documentrevision_set.latest())
return result
「注釈」および「集計」フィルターを調査してきましたが、これをより効率的に行う方法がわかりません。データベースのバックエンドは近い将来変更される可能性があるため、未加工の SQL で手を汚したくありません。誰にもアイデアはありますか?
ありがとう!!