Django filter 去掉order by以免影响统计数据

使用一句类似

results = MoorolProduct.objects.extra(select={'day': 'date(update_time)'}).values('day').annotate(
    records=Count('update_time')).filter(update_time__gte=begin)

的语句来统计数据,结果发现数据不对,查Sql语句,把Created_Time也Group By进去了,因为MoorolProduct这个Model默认通过Created_Time排序的。

results = MoorolProduct.objects.extra(select={'day': 'date(update_time)'}).values('day').annotate(
    records=Count('update_time')).filter(update_time__gte=begin).order_by()

加一个没有参数的order_by(),搞定之。

Django Group order_by
阅读(131) 评论(0) 3 个月前