агрегат () + отчетливый (поля) не реализовано - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть этот код в моем views.py, я просто хочу получить среднее значение по категориям оценок

gradepercategory = studentsEnrolledSubjectsGrade.objects.filter(Grading_Categories__in = gradingcategories.values_list('id', flat=True)).filter(
                grading_Period__in=period.values_list('id', flat=True)).distinct('Grading_Categories').aggregate(Sum('Grade'))['Grade__sum']

Изображение admin-site ниже, чтобы понять, что я имею в виду

enter image description here

1 Ответ

0 голосов
/ 27 февраля 2020

В вашем коде вы суммируете отдельные записи. Вы можете кодировать как это

gradepercategory = studentsEnrolledSubjectsGrade.objects.filter(Grading_Categories__in = gradingcategories.values_list('id', flat=True)).filter(grading_Period__in=period.values_list('id', flat=True)).values('Grading_Categories').annotate(average_grade=Avg('Grade'))

Вы можете проверить ссылку и получить дополнительную информацию. https://docs.djangoproject.com/en/3.0/topics/db/aggregation/#aggregating -annotations

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...