Как суммировать значения аннотаций с помощью groupby в Django

В Django возникает ошибка при вычислении (Sum) со значением, полученным по аннотации, а не как уникальное поле модели. Возможно ли вычисление только с уникальными полями? Я хочу найти Sum по значению groupby 'enroll_injection' в 'student__research' .

enroll_injection = test.filter(Q(student__is_deleted=0))\
                       .values('student')\
                       .annotate(injection=Max('injection_date'),
                                 enroll=Max('enroll_date'))\
                       .values('student__research')\
                       .annotate(enroll_injection=Cast(F('enroll_date'), DateField()) - Cast(F('injection_date'), DateField()))\
                       .values('assignment__research__research_name', 'enroll_injection')\
                       .order_by('assignment__research__research_name')

Ошибка: Cannot compute Sum('<CombinedExpression: Cast(F(enroll_date)) - Cast(F(injection_date))>'): '<CombinedExpression: Cast(F(enroll_date)) - Cast(F(injection_date))>' является агрегатом

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