在使用 django 的时候发现了一个

例如:

In [54]: print(F.objects.all().values("age").annotate(fff=Count("age")).query)
SELECT "a_f"."age", COUNT("a_f"."age") AS "fff" FROM "a_f" GROUP BY "a_f"."age"

看上去也毫无问题,可是我换一个表

In [56]: print(F.objects.all().values("attack_type").annotate(total=Count("attack_type")).query)
SELECT "b_f"."type", COUNT("b_f"."type") AS "total" FROM "b_f" GROUP BY "b_f"."id" ORDER BY "b_f"."id" DESC

神奇的事情发生了.他竟然变成了 ORDER BY "b_f"."id" ,而且还加上了ORDER BY "b_f"."id" DESC,而且还会报错:

报错信息如下:

ProgrammingError: column "b_f.type" must appear in the GROUP BY clause or be used in an aggregate function LINE 1: SELECT "b_f"."type", COUNT("...

通过查询,找到一个答案,Django ORM Group By ID

发现加上order_by()就可以避免这个问题.

In [58]: print( RequestLogBasic.objects.all().values("type").annotate(total=Count("type")).order_by("type").query)
SELECT "b_f"."type", COUNT("b_f"."type") AS "total" FROM "b_f" GROUP BY "b_f"."type" ORDER BY "b_f"."type" ASC

最新文章

  1. [Django]用户权限学习系列之User权限基本操作指令
  2. 谈谈rem
  3. mysql 5.7修改密码
  4. 第一个sprint心得及感想
  5. Ehcache(2.9.x) - API Developer Guide, Write-Through and Write-Behind Caches
  6. C++中rand()函数的用法
  7. ASI简单实现网络编程
  8. POJ 3233 Matrix Power Series(矩阵高速功率+二分法)
  9. continue与break
  10. UVALive 2324 Human Gene Functions(动态规划)
  11. 源码(05) -- java.util.AbstractCollection<E>
  12. 安卓自定义控件(一)Canvas、Paint、Shader、Xfermode
  13. Asp.Net Core 轻松学-多线程之Task快速上手
  14. Navicat for MySQL下载安装和破解教程
  15. M1-Flask-Day2
  16. VB获取CAD属性值
  17. Grunt: 拼接代码,js丑化(压缩),css压缩,html压缩,观察文件,拷贝文件,删除文件,压缩文件
  18. JAVA 画图板实现(基本画图功能+界面UI)二、功能实现及重绘实现
  19. N-N
  20. Joinpoint继承体系-笔记

热门文章

  1. MDL的一些理解
  2. ZBrush中标准几何体与Polymesh
  3. 备份和恢复ZBrush文件
  4. CentOS 6.5下部署日志服务器 Rsyslog+LogAnalyzer+MySQL
  5. Vue-给对象新增属性(使用Vue.$set())
  6. Module build failed: Module failed because of a eslint warning
  7. UVA10082-WERTYU(紫书例题3.2)
  8. BZOJ 3510 首都 (LCT)
  9. SUSE Linux Enterprise 11 SP4系统安装过程 字符界面
  10. 20121124.Nodejs异步式I/O与事件式编程