Django shell调试models输出的SQL语句方法
2019-08-29 09:26
2855 查看
在settings.py里,配置如下logging:
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level':'DEBUG', }, } }
使用效果:
$ python manage.py shell In [1]: from test.models import A In [2]: A.objects.all() (0.001) SELECT "app1_a"."id", "app1_a"."name" FROM "app1_a" LIMIT 21; args=() [<A: A object>]
在shell命令行的环境下,可以使用 django-exension's shell_plus 命令并打开 --print-sql 选项。
python manage.py shell_plus --print-sql
>>> Author.objects.all() SELECT "library_author"."id", "library_author"."name" FROM "library_author" LIMIT 21 Execution time: 0.001393s [Database: default] <QuerySet [<Author: Author object>]>
django提供的内置记录器
django 在Django层次结构中的所有消息记录器。没有使用此名称发布消息,而是使用下面的记录器之一。
django.request 与请求处理相关的日志消息。5xx响应被提升为错误消息;4xx响应被提升为警告消息。
django.server 与由RunServer命令调用的服务器所接收的请求的处理相关的日志消息。HTTP 5XX响应被记录为错误消息,4XX响应被记录为警告消息,其他一切都被记录为INFO。
django.template 与模板呈现相关的日志消息
django.db.backends 有关代码与数据库交互的消息。例如,请求执行的每个应用程序级SQL语句都在调试级别记录到此记录器。
以上这篇Django shell调试models输出的SQL语句方法就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- Django 调试models 输出的SQL语句 定位查看结果
- Django调试models输出的SQL语句
- Yii框架在页面输出执行sql语句以方便调试的实现方法
- Yii框架在页面输出执行sql语句以方便调试的实现方法
- Yii框架,在页面输出执行sql语句,方便调试
- excel内一键进行sql查询(使用方法 1.选择’需要进行sql查询区域 包括字段名 2 输入sql语句 3.选择输出数据的单元格)
- 项目中调试SQLServer 方便的查看SQL语句的执行时间的方法
- 项目中调试SQLServer 方便的查看SQL语句的执行时间的方法
- 调试Django时打印SQL语句的日志代码实例
- 用shell把执行的两条sql语句相加并输出数据库名和相加的值以tab健隔开
- 调试sql语句的一个小方法
- THINKPHP 调试------输出sql语句
- 6 Django系列之关于models的sql语句日常用法总结
- Yii调试查看执行SQL语句的方法
- JDBC中输出PreparedStatement对象中的SQL语句的方法
- Shell脚本中执行sql语句操作mysql的5种方法
- Shell脚本中执行sql语句操作mysql的5种方法
- Yii框架调试心得--在页面输出执行sql语句
- 让Hibernate输出SQL语句以便更加深入调试程序----参数配置
- Django 输出 Queryset 的 SQL 语句