说我有这两种模式:计数平均分
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'))
匹配[0] .total_points现在返回一个匹配的总点数,我需要总结每场比赛的total_points和由总匹配划分它。
感谢您的帮助!
嘿,我很愚蠢。我一直在苦苦寻找解决方案,在单一查询中完成整个计算,我完全无视最明显的解决方案。 – ponycat