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