Django shell调试models输出的SQL语句方法


Posted in Python onAugust 29, 2019

在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语句方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的面向对象编程详解(上)
Apr 13 Python
浅谈Python 集合(set)类型的操作——并交差
Jun 30 Python
使用python绘制常用的图表
Aug 27 Python
windows系统下Python环境搭建教程
Mar 28 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
通过python顺序修改文件名字的方法
Jul 11 Python
python用fsolve、leastsq对非线性方程组求解
Dec 15 Python
softmax及python实现过程解析
Sep 30 Python
keras分类之二分类实例(Cat and dog)
Jul 09 Python
Python绘图之二维图与三维图详解
Aug 04 Python
利用Python实现Json序列化库的方法步骤
Sep 09 Python
如何用用Python将地址标记在地图上
Feb 07 Python
python实现文件的分割与合并
Aug 29 #Python
Python配置文件处理的方法教程
Aug 29 #Python
浅谈django url请求与数据库连接池的共享问题
Aug 29 #Python
python 进程的几种创建方式详解
Aug 29 #Python
python 列表推导式使用详解
Aug 29 #Python
django 数据库连接模块解析及简单长连接改造方法
Aug 29 #Python
解决Django连接db遇到的问题
Aug 29 #Python
You might like
PHP+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
隐性调用php程序的方法
2009/03/09 PHP
组合算法的PHP解答方法
2012/02/04 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
php生成数组的使用示例 php全组合算法
2014/01/16 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
List Information About the Binary Files Used by an Application
2007/06/18 Javascript
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
JavaScript基础函数整理汇总
2015/01/30 Javascript
jquery实现图片随机排列的方法
2015/05/04 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
2021/01/27 Javascript
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
Python简单获取自身外网IP的方法
2016/09/18 Python
python实现事件驱动
2018/11/21 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
高校毕业生登记表自我鉴定
2013/11/03 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
个人贷款承诺书
2014/03/28 职场文书
岗位标兵事迹材料
2014/05/17 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
班主任2015新年寄语
2014/12/08 职场文书
具结保证书
2015/01/17 职场文书