0

私は、モデル 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

4

1 に答える 1