Django ORM - получение суммы аннотированного столбца после предложения GROUP BY

Вот мой набор запросов:

queryset = queryset.annotate(
    calc_date=Func(
        models.Value(date_start),
        models.Value(date_end),
        models.Value(interval),
        function='generate_series',
        output_field=models.DateField()
    ),
    complete_day=service.complete_day,
    fact_performance=service.fact_performance,
    plan_performance=service.plan_performance,
).values('calc_date').annotate(
    total_fact=Sum('fact_performance'),
    total_plan=Sum('plan_performance'),
)

Сначала я генерирую серию дат для каждого объекта в запросе и аннотирую вычислительные выражения на основе каждой конкретной даты, а именно fact_performance и plan_performance.

После этого я использую .values('calc_date') для запуска пункта GROUP BY и вычисления суммы значений производительности в пределах каждой сгенерированной даты, но неожиданно я получил эту ошибку:

django.core.exceptions.FieldError: Cannot compute Sum('fact_performance'): 'fact_performance' is an aggregate

Есть ли какой-то обходной путь для решения этой проблемы?

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