Django を使用してアスリートに関するデータベースを管理しているとします。
class Player(models.Model):
name = models.CharField()
weight = models.DecimalField()
team = models.ForeignKey('Team')
class Team(models.Model):
name = models.CharField()
sport = models.ForeignKey('Sport')
class Sport(models.Model):
name = models.CharField()
各チームの選手の平均体重を計算したいとしましょう。私はそうすると思います:
Team.objects.annotate(avg_weight=Avg(player__weight))
しかしここで、各スポーツ内のチームの重みの分散を計算したいとします。Django ORM を使用してそれを行う方法はありますか? extra()
メソッドを QuerySet で使用するのはどうですか? どんなアドバイスでも大歓迎です。