当前Model.objects.all()创建:
FK Column Column1 Column2 Column3 Zone 1 19 23 67 Zone 2 45 12 76 Zone 1 23 98 34 Zone 2 12 56 23
预期结果:
FK Column Column1 Column2 Column3 Zone 1 42 101 111 Zone 2 57 68 99
FK自动组合成一行。
我应该使用哪个查询来实现此目的?
答案 0 :(得分:1)
您可以将.values(..)
与.annotate(..)
和.order_by(..)
一起使用:
Model.objects.values(
'fk_column'
).annotate(
sumcol1=Sum('col1'),
sumcol2=Sum('col2'),
sumcol3=Sum('col3'),
).order_by('fk_column')
这将导致QuerySet
个离子对中的dict
个。每个词典包含一个'fk_column'
,'sumcol1'
,'sumcol2'
和'sumcol3'
。然后可以进一步处理这些参数。