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

Mary-Kate Olsen
发布: 2024-11-01 21:19:02
原创
676 人浏览过

How Do I View the Raw SQL Queries Executed by Django?

Django SQL 查询可见性

要观察 Django 执行的原始 SQL 查询,您可以参考 Django 文档的常见问题解答来了解此特定问题.

使用 django.db.connection.queries

一种方法是利用 django.db.connection.queries 属性,它维护已执行的 SQL 查询的列表。要显示它们:

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

检查查询集查询

查询集还拥有一个包含要执行的查询的查询属性。要访问它:

<code class="python">from django.db import models
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()
# Execute your query here
print(connection.queries)</code>
登录后复制

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!