SQLAlchemy ORM クエリに変換したい Django モデル マネージャーに次の注釈があります。
annotations = {
'review_count' : Count("cookbookreview", distinct=True),
'rating' : Avg("cookbookreview__rating")
}
return self.model.objects.annotate(**annotations)
私が本質的に必要としているのは、クエリ内の各モデル オブジェクトを最初のクエリの一部として保持し、それらにアタッチすることですreview_count
。rating
を使用できると思いcolumn_property
ますが、テンプレートでプロパティにアクセスするときにオブジェクトごとにプロパティ (高価なルックアップ) を実行したくないため、オブジェクトでこのタイプの「計算されたプロパティ」を避けたいと思います。
この問題にアプローチする正しい方法は何ですか? 前もって感謝します。