めも

メモ.

Python djangoでGroup byを用いて要素ごとのレコード数をカウントしてテンプレートに渡す

使いそうになったので.

ModelNameがモデルの名前, attribute_nameがgroup byを行いたいカラムの名前です.

from django.db.models import Count
target_data = ModelName.objects.all()
groupby_data = target_data.values('attribute_name').annotate(total=Count('attribute_name')).order_by('total')

カウントを行ったあとの total 属性にレコード数が含まれています.

詳しくは以下のドキュメントにて.

QuerySet API reference | Django documentation | Django

プライバシーポリシー

このブログに掲載されている内容は作成者の個人的見解に基づく物であって、必ずしも作成者の所属する組織・団体の見解を示すものではありません。また、記載が不正確であったことにより生じたいかなる損害に関しても、責任を負いかねますのでご了承ください。また、本サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。また、本サイトでは、第三者配信の広告サービス(Googleアドセンス、A8.net)を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、クッキー(Cookie)を使用しております。 クッキーを使用することで当サイトはお客様のコンピュータを識別できるようになりますが、お客様個人を特定できるものではありません。本サイトの管理者への問い合わせ、当ブログのプライバシーポリシーの詳細についてはこちらをご覧ください。