Django查看ORM实际执行的SQL

查看Django ORM实际执行的原始SQL查询

确保 `Django的BUGUG配置为True`, 执行命令 `(可以在shell中执行)`:

from django.db import connection
connection.queries

输出: [{'sql': 'Select polls_polls.id, polls_polls.question, polls_polls.pub_date FROM polls_polls', 'time': '0.002'}]

如果 `DEBUG为False`, 则 `connection.queries` 为空 `[]`.

`connection.queries` 包含所有的SQL语句 INSERT, UPDATE, SELECT 等. 每次您的应用访问数据库都会记录查询.

如果 `使用多个数据库` , 则可以再 `connections` 字典中的每个成员上使用相同的接口:

from django.db import connections
connections['my_db_alias'].queries

如果您需要手动的 `清除查询列表` , 则需要执行 `reset_queries函数` :

from django.db import reset_queries
reset_quries()
connection.queries

输出: []

 

posted @ 2020-11-24 10:58  小小小光子  阅读(181)  评论(0编辑  收藏  举报