에 평균에 주석을 나는이 모델이있다. 나는이 일을 예상 :장고 모델 필드
Feedback.objects.annotate(avg_rating=Avg('rating')).values('rating', 'avg_rating')
하지만 그냥이 출력 :
<QuerySet [{'rating': 0.8, 'avg_rating': 0.8}, {'rating': 0.2, 'avg_rating': 0.2}, {'rating': 0.6, 'avg_rating': 0.6}, {'rating': 1.0, 'avg_rating': 1.0}, {'rating': 0.4, 'avg_rating': 0.4}]>
당신이 평균 3.0을해야 볼 수 있듯이. 내가 어디로 잘못 가고 있니? 명확성의 비트에 대한
, 나는 이런 식으로 뭔가를 할 노력하고있어 :agencies = Agency.objects.annotate(
avg_rating=Coalesce(Subquery(
Feedback.objects.filter(user__agency_id=OuterRef('pk'))
.values('rating')
.annotate(avg_rating=Avg('rating', output_field=DecimalField()))
.values('avg_rating')
), 0)
)
을 평균 평가 기관 당입니다. 어떤 아이디어?
당신은 특정 사용자의 평균 등급을 찾기 위해 노력하고 있습니까? 또는 한 기관에 속한 전체 사용자입니까? 유스 케이스가 무엇인지 단어로 설명 할 수 있습니까? –