为何django按错误字段分组?注释()

为什么Django按ID分组?
这是queryset:

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字段排序和分组.

… GROUP BY payment.id … ORDER BY payment.id …

代替

… GROUP BY payment.terminal_id …

解决方法:

请在此处查看“警告”:

https://docs.djangoproject.com/en/1.8/topics/db/aggregation/#interaction-with-default-ordering-or-order-by

可能是默认顺序妨碍了操作.尝试在查询末尾添加.order_by(),以查看是否可以清除顺序.

上一篇:Hbase 和 RDBMS的区别


下一篇:mysql-什么是更有效的(速度/内存):联接或多项选择