ユーザーがページを作成するアプリがあります。 2ページ以上作成したユーザーの数を返す簡単なDBクエリを実行したいと思います。
これは基本的に私がやりたいことですが、もちろん正しい方法ではありません:
User.objects.select_related('page__gte=2').count()
私は何が欠けていますか?
aggregates を使用する必要があります。
from Django.db.models import Count
User.objects.annotate(page_count=Count('page')).filter(page_count__gte=2).count()
私の場合、 other answer のようにlast .count()
を使用しなかったので、Niceでも機能します。
from Django.db.models import Count
User.objects.annotate( our_param=Count("all_comments")).filter(our_param__gt=12)