首页 > 解决方案 > Django 在同一字段上注释和应用不同的聚合函数

问题描述

我正在使用 django annotate,我想在同一个字段上应用多个聚合:

queryset = queryset.apply_filters(
    user=user, start_date=start_date, end_date=end_date
).values('product').annotate(
    avg_a=Avg('field_a'),
    total_a=Sum('field_a'),
)

但我得到以下信息FieldError

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

我很确定这样的 SQL 查询:

SELECT AVG(field_a), SUM(field_a) FROM random_table GROUP BY product

完全有效。回顾一下:我如何在同一个字段上应用多个聚合函数annotate

标签: python-3.xdjango

解决方案


推荐阅读