Django 之将 ORM 语句转化成原生sql 语句

一世执手 提交于 2020-03-12 11:39:31



使用 Django 有个很方便的东西就是它的 ORM 查询语句,但是有时候碰上一些复杂的语句,或者新用到的功能,比如 distinct, sum。
我们想要知道使用 ORM 查询返回的结果是不是正确,我们可以将之对应的 MySQL 语句打印出来印证一下。

有两种方法,如果是比较简单的查询语句,可以使用以下方法:

ArticleInfo.objects.filter(id = 1).query.__str__()


如果查询涉及 count() 这种功能,上述方法貌似就不起作用了,可以使用以下方法:

from django.db import connection
#这里执行一段复杂的查询代码
connection.queries[-1]['sql']


#因为是紧接着查询之后查看代码,所以选择最后一条记录即可
 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!