Я пытаюсь запросить django, чтобы получить следующий результат:
имя_убъекта, total_grades, прошло_передачей, прошло_преценцию
как
математика, 20,15,75.0
Запросы:
from django.db.models import Count
passed_bysubjects = grades.objects.filter(yeardata__year="2011-2012",grade__gte=5).values('code__name').annotate(Passed=Count('grade'))
total_bysubject = grades.objects.filter(yeardata__year="2011-2012").values('code__name').annotate(Total=Count('grade'))
Я сделал, как я публикую ниже, но мне интересно, есть ли лучший метод.
results = list(total_bysubject)
for a in passed_bysubjects:
for b in results:
if a['code__name'] == b['code__name']:
b['Passed'] = a['Passed']
b['Percentaje'] = (b['Passed'])*100/b['Total']
Может ли это быть достигнуто с помощью django методов?
Спасибо