2012-10-19 2 views
3

데이터베이스가 Result.objects.all() 약 15 개 있습니다. 결과에는 score라는 필드가 있으며 범위는 1-5입니다. 따라서 q = Result.objecets.get(id=1)을 프리폼하면 q.score은 2입니다. 15 개 개체의 모든 점수의 평균을 찾는 방법은 무엇입니까?데이터베이스의 평균 스코어 (Django)

답변

7

이렇게하려면 django aggregation 함수를 사용할 수 있습니다.

# Average price across all objects. 
>>> from django.db.models import Avg 
>>> Result.objects.all().aggregate(Avg('score')) 
{'score__avg': 34.35} 
+0

그래, 그랬어. – ono

+0

+1. 가장 중요한 부분은 응용 프로그램 코드가 아니라 데이터베이스에서 수행된다는 것입니다. 따라서 훨씬 더 확장 성이 있습니다. :-) –

+0

이것을 노치로 두드려라 : 어쨌든 2이고 평균 1,3,4, 5 점만을 무시해야합니까? 새로운 질문을 게시해야 할 수도 있습니다. – ono

관련 문제