Как разделить поля groupby при выводе результатов кверисета в Django

[views.py]

annotations = {}
types = ('A', 'B')
for type in types:
    annotations[type] = Count('id', filter=Q(type=type))
    annotations[f'R_{type}'] = Count('id', filter=Q(type=type, is_recruiting='Recruiting'))
    annotations[f'N_{type}'] = Count('id', filter=Q(type=type, is_recruiting='Not yet recruiting')))
    counts = Study.objects.filter(is_deleted=0) \
                          .values('teacher')
                          .annotate(**annotations).values('teacher', *annotations.keys())

Сгруппировав учителей, я получил подсчет для каждого учителя. Вот результат:

<QuerySet [ {'teacher': 'Helen', 'A': 1, 'R_A': 1, 'N_A': 0, 'B': 3, 'R_B': 2, 'N_B': 0} {'teacher': 'Helen/Jennie', 'A': 0, 'R_A': 0, 'N_A': 0, 'B': 1, 'R_B': 0, 'N_B': 0}, {'teacher': 'Jennie', 'A': 0, 'R_A': 0, 'N_A': 0, 'B': 1, 'R_B': 0, 'N_B': 0}} >

Однако при группировке учителей я хочу разделить их на основе "/" и добавить подсчет для каждого учителя, чтобы вывести следующие результаты.

<QuerySet [ {'teacher': 'Helen', 'A': 1, 'R_A': 1, 'N_A': 0, 'B': 4, 'R_B': 2, 'N_B': 0}, {'teacher': 'Jennie', 'A': 0, 'R_A': 0, 'N_A': 0, 'B': 2, 'R_B': 0, 'N_B': 0}] >

Однако разделение по значениям невозможно. Если у вас есть обходной путь, пожалуйста, помогите мне.

Вернуться на верх