【问题标题】:Django: how to view raw sql response upon a queryDjango:如何在查询中查看原始 sql 响应
【发布时间】:2019-09-14 18:07:04
【问题描述】:

在 Django 中,如果我想在调试模式下查看原始 sql,我可以在 django shell 中检查:

from django.db import connections
User.objects.all()
print(connections['default'].queries[-1]['sql'])

同样,我们可以看到该 sql 的原始响应。在上述情况下,sql 查询可能会以 csv、制表符分隔格式返回原始结果。从那时起,django 可以创建模型对象数组。

【问题讨论】:

    标签: sql django


    【解决方案1】:

    在 Django 中有更好的工具来调试 SQL 查询。标准工具是使用 Django-debug-toolbar,它允许您查看请求/响应中所有查询的 SQL 查询、结果和 EXPLAIN 输出,以及每个查询所需的时间。文档位于https://django-debug-toolbar.readthedocs.io/en/latest/

    【讨论】:

    • 我想知道如何在没有任何第三方工具的情况下做到这一点
    【解决方案2】:

    你可以这样做:

    str(User.objects.all().query)
    
    # or 
    
    print(User.objects.all().query)
    
    # or 
    
    print(User.objects.all().query.sql_with_params())
    

    【讨论】:

      猜你喜欢
      • 2015-11-21
      • 2012-03-16
      • 2018-05-15
      • 2013-04-17
      • 2017-04-26
      • 2017-01-18
      • 2019-08-05
      • 2015-05-01
      • 2010-11-01
      相关资源
      最近更新 更多