对 Django 的 SQL 查询进行故障排除
本题研究查看 Django 在查询操作期间执行的 SQL 查询的方法。
解决方案:
根据 Django 文档常见问题解答,Django 提供了两个检查 SQL 查询的选项:
<code class="python">from django.db import connection print(connection.queries)</code>
<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() # Execute your query here print(connection.queries) # Returns an empty list</code>
以上是如何查看Django执行的SQL查询?的详细内容。更多信息请关注PHP中文网其他相关文章!