DjangoのQuerySetでグループごとに最大・最小のデータのみ抽出する方法を紹介します。 この記事はDjango Advent Calendar 2021 3日目の記事です。 グループごとの最大・最小のデータとは何でしょうか? たとえば以下のような場合に必要となります。 ブログ記事ごとに最新のコメントのみ取得 ユーザーごとに金額が最大の購入履歴のみ取得 ページごとにリビジョン番号が最大の差分データのみ取得 実際に仕事をしているとたまに欲しくなりますよね。 今回は Parent モデルというグループごとに、 Child モデルの number が最大になる Child の一覧を取得します。 class Parent(models.Model): pass class Child(models.Model): parent = models.ForeignKey(Parent) numb