时间:2021-05-22
在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 21Execution 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语句方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在web项目调试期间,时常需要查看输出的调试信息,例如当Hibernate设置为显示SQL语句时,每次运行的SQL语句会输出到终端,另外有时需要在代码中插入一些
本文实例讲述了Yii框架在页面输出执行sql语句以方便调试的实现方法。分享给大家供大家参考。具体分析如下:我们使用:yiidebugtb来调试(因为用他界面比较
打印sql语句,直接在你执行SQL语句后输出方法一:$queries=DB::getQueryLog();$a=end($queries);$tmp=str_r
下面介绍两种查看django执行的sql语句的方法。方法一:queryset=Apple.objects.all()printqueryset.querySEL
这篇文章主要介绍了调试Django时打印SQL语句的日志代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考