DjangoのaggregateでbooleanがTrueのものを集計したいとき

今回はDjangoのaggregateでbooleanがTrueのものを集計したいときどのように書けば良いのかについてご紹介いたします。



DjangoのaggregateでbooleanがTrueのものを集計したいとき

例として次のtestModelがあったとします。

この中のbooleanフィールドであるtestBooleanがTrueのものの合計を算出したいときがあると思います。

結論から言うと、Sumを使いましょう。
こんな感じです。

なぜこれでBoolean型のTrueの数を集計できるかというと、DjangoではBoolean型は内部ではtinyintであるため、Falseの場合は0、Trueの場合は1を持っているからです。

よって、Trueの場合である1を合計していくとそのままboolean型のフィールドがTrueの数になるので、期待した値が取れることとなります。

終わりに

今回はDjangoのaggregateでbooleanがTrueのものを集計したいときどのように書けば良いのかについてご紹介いたしました。

【お知らせ】
プログラミングのコンサルタントをすることを考えております。
下記の通り、かなり格安でご用意させていただいております。
【格安】プログラミングコンサル生募集(初心者向け、フリーランス志望向け)

詳しくは下記のリンクをご覧ください。
https://chico-shikaku.com/2020/10/programming-consult-2020/

11月くらいを目処に開始予定です。
最初は募集があれば先着5名くらいを目安に考えております。
質問や意見、問い合わせやお申し込みは下記のリンクよりお願いいたします。
https://docs.google.com/forms/d/e/1FAIpQLSeTXskmlyPAHuhwiOE9togqJPWdhXYCyRoVnFkkbS0VN0Ftug/viewform?usp=sf_link

最後までお読みいただきありがとうございます。
ブログやTwitterでのシェアOKです。
コメントもお待ちしております。
誤植や勘違いなどございましたらコメント欄にて教えていただけると幸いです。






Django

Posted by ちこ