次の 2 つのモデルがあるとします。
class Match(models.Model):
...
class Player(models.Model):
match=models.ForeignKey(Match)
points=models.IntegerField()
試合ごとの平均ポイントを計算したい。つまり、すべてのプレイヤーのポイントを合計し、それを試合数で割る必要がある。Djangoでこれを効率的に行う方法を理解するのに苦労しています。
グーグルを試したり、StackOverflow を検索したりしましたが、そもそもどの用語を探すべきかを理解するのに苦労しています。
match = Match.objects.annotate(total_points=Sum('player__points'))
match[0].total_points が 1 つの試合の合計ポイントを返すようになりました。すべての試合の total_points を合計し、それを合計試合数で割る必要があります。
助けてくれてありがとう!