如何查看Django执行的SQL查询?

DDD
发布: 2024-11-04 06:53:30
原创
516 人浏览过

How Can I View SQL Queries Performed by Django?

查看 Django 执行的 SQL 查询

执行查询时,Django 会运行​​开发人员通常不可见的 SQL 命令。但是,有一些方法可以观察这些查询并检查其内容。

访问查询列表

Django 在 django.db.connection 中存储所有已执行查询的列表。查询。要查看这些查询:

<code class="python">from django.db import connection
print(connection.queries)</code>
登录后复制

从查询集中检索查询

代表数据库查询的查询集具有包含要执行的原始 SQL 的查询属性:

<code class="python">print(MyModel.objects.filter(name="my name").query)</code>
登录后复制

输出限制注意事项

需要注意的是,显示的 SQL 在语法上可能不有效,如下所示:

“Django 从未真正插值参数:它将查询和参数分别发送到数据库适配器,数据库适配器执行相应的操作。”

这意味着显示的查询不能直接在数据库上执行。

重置查询

如果您需要重置查询列表,例如,要对特定时间段内运行的查询进行计数,请使用django.db中的reset_queries:

<code class="python">from django.db import reset_queries
from django.db import connection

reset_queries()
# Run your query here
print(connection.queries)
>>> []</code>
登录后复制

以上是如何查看Django执行的SQL查询?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板