跨多个字段的django.db聚合

时间:2014-12-22 21:25:57

标签: django python-3.x

我有一张这样的表:

ID state  A    B    C
----------------------
1   MD    x    x    x

2   MD    x    x    x

3   WA    x    x    x

4   KY    x    x    x

我想按状态过滤,并返回B和C的总和。我可以像这样单独得到B或C的总和:

Table.objects.filter(state=MD).aggregate(x=Sum('B'))

我可以像这样得到B和C的数据:

Table.objects.filter(state=MD).values('B', 'C')

我正在寻找一种方法来组合这两个操作,而不需要使用原始SQL。

1 个答案:

答案 0 :(得分:0)

不完全是我想要的但是关闭:

sum(Tables.objects.filter(state=MD).aggregate(x=Sum('B'), y=Sum('C')).values())