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
Есть ли какой-то обходной путь для решения этой проблемы?