django的数据库处理就好比一个黑盒。里面进行什么处理全部被django orm封装的比较死,可能有的时候你的程序速度比较慢,或者你想调试它的时候却不知道它里面流程,这对我们来说是件很郁闷的事情,程序员大部分都有一个好奇的心理,都想看看里面到底是怎么执行的,不用着急,下面有个办法就很好的解决这个问题,可以让你很清楚看到django orm是执行sql语句的过程,这对我们写程序也比较有数。
具体步骤:
这里用到了django中间件的process_response(self, request, response)方法,下面的是代码:
from django.db import connection
def process_response(self, request, response):
for sql in connection.queries:
print sql
return response
如果你是用 django 自带的服务器,就可以在SHELL里看到结果了。
有了这个方法的话,你对django执行sql语句心理就有数了。