Перевод sql-запроса на Django
У меня есть две таблицы: students (в которой есть все ученики школы) и suspensions (все ученики, которые отстранены от занятий)
id | name | школьный_класс |
---|---|---|
1 | Джефф | 1 |
2 | Дейв | 1 |
3 | Сюзан | 2 |
4 | Уилл | 2 |
5 | Peter | 3 |
id | reason | student_id |
---|---|---|
1 | Missed class | 1 |
2 | Arrived 20 times late | 2 |
3 | Fight | 5 |
Мне нужно получить статистику о том, какие ученики разных классов отстранены от занятий.
Итак, мой вопрос заключается в следующем.
SELECT school_grade, count(school_grade)
FROM students JOIN suspensions ON students.id=suspensions.student_id
GROUP BY school_grade;
А этот запрос дает мне именно то, что я хочу.
school_grade | number of suspension |
---|---|
3 | 1 |
1 | 2 |
Но я не понимаю, как сделать этот запрос на django.
Попытка:
students.objects.values("school_grade").annotate(Count("suspensions"))
Это должно работать как ожидалось