3
我有一个大约15个对象的数据库Result.objects.all()
。结果有一个称为分数的字段,范围从1到5。所以,如果我的瓶坯q = Result.objecets.get(id=1)
,q.score
是2. 什么是找到所有15个对象的所有分数的平均值的方法?数据库平均分(Django)
我有一个大约15个对象的数据库Result.objects.all()
。结果有一个称为分数的字段,范围从1到5。所以,如果我的瓶坯q = Result.objecets.get(id=1)
,q.score
是2. 什么是找到所有15个对象的所有分数的平均值的方法?数据库平均分(Django)
你可以使用django aggregation函数来做到这一点;
# Average price across all objects.
>>> from django.db.models import Avg
>>> Result.objects.all().aggregate(Avg('score'))
{'score__avg': 34.35}
是的,这样做。 – ono
+1。最好的部分是,这是在数据库中完成的,而不是在应用程序代码中完成的,因此它具有更大的可扩展性。 :-) –
让我们来敲一下:有没有办法忽略所有2分,只有平均1,3,4和5的分数?我可能不得不发布一个新问题。 – ono