私は、モデル Bar およびモデル Baz と m2m 関係を持つモデル Foo を持っているので、次のようになります。
Bar(0..*)----(1..*)Foo(1..*)----(0..*)Baz
私がやろうとしているのは、関連するバーとバズを組み合わせた数で上位 n の Foo を取得することです。
これが私がこれまでに得たものです:
Foo.objects.all() \
.annotate(count_bar=(Count('bar')) \
.annotate(count_baz=(Count('baz').extra(
'select'={'total' : 'count_bar + count_baz'},
'order_by'=('-total',)
)
QuerySet はextra
呼び出しまでは良さそうです。それから私は得るUnable to get repr for QuerySet
。通話で使用
できれば、これは簡単です。これについて私ができるORMフレンドリーな方法はありますか?F()
annotate