ホームページ >バックエンド開発 >Python チュートリアル >Django で GROUP BY クエリを実行するにはどうすればよいですか?
Django でクエリによるグループ化を実現するには?
Django では、モデルに対してクエリによるグループ化を実行するには、 ORM の集約機能。これは、values() メソッドと annotate() メソッドを利用することで実現されます。
次の例を考えてみましょう:
from django.db.models import Count result = (Members.objects .values('designation') .annotate(dcount=Count('designation')) .order_by() )
このコードは、次のような SQL クエリに変換されます:
SELECT designation, COUNT(designation) AS dcount FROM members GROUP BY designation
クエリの結果は、それぞれがグループを表す辞書オブジェクトのリストになります。例:
[{'designation': 'Salesman', 'dcount': 2}, {'designation': 'Manager', 'dcount': 2}]
結果に複数のフィールドを含めるには、それらのフィールドを引数として value():
.values('designation', 'first_name', 'last_name')
参照:
に追加するだけです。以上がDjango で GROUP BY クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。