为什么 django 按错误的字段分组?注释()
Why django group by wrong field? annotate()
为什么 Django 按 id 字段分组?
这是查询集:
MyModel.objects\
.filter(
status=1,
created__gte=datestart,
created__lte=dateend)\
.values('terminal_id')\
.annotate(
total_pa=Sum('amount'),
total_ar=Sum('amount_result')).query
但它按 pk 字段排序和分组。
... 分组依据 payment
.id
排序依据 payment
.id
...
而不是
... 分组依据 payment
.terminal_id
排序依据 payment
.terminal_id
...
在此处查看 "Warning":
也许默认顺序妨碍了。尝试将 .order_by()
添加到查询的末尾,看看是否可以清除排序。
为什么 Django 按 id 字段分组? 这是查询集:
MyModel.objects\
.filter(
status=1,
created__gte=datestart,
created__lte=dateend)\
.values('terminal_id')\
.annotate(
total_pa=Sum('amount'),
total_ar=Sum('amount_result')).query
但它按 pk 字段排序和分组。
... 分组依据 payment
.id
排序依据 payment
.id
...
而不是
... 分组依据 payment
.terminal_id
排序依据 payment
.terminal_id
...
在此处查看 "Warning":
也许默认顺序妨碍了。尝试将 .order_by()
添加到查询的末尾,看看是否可以清除排序。