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使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
深入理解Python中的*重复运算符
Oct 28 Python
Python3计算三角形的面积代码
Dec 18 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
python实现几种归一化方法(Normalization Method)
Jul 31 Python
Python中的self用法详解
Aug 06 Python
Django框架models使用group by详解
Mar 11 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 Python
Python requests模块安装及使用教程图解
Jun 30 Python
解决pytorch 数据类型报错的问题
Mar 03 Python
Python利器openpyxl之操作excel表格
Apr 17 Python
python geopandas读取、创建shapefile文件的方法
Jun 29 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边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
2013/08/31 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
php封装的图片(缩略图)处理类完整实例
2016/10/19 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
JavaScript中神奇的call()方法
2015/03/12 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
jquery限定文本框只能输入数字(整数和小数)
2016/01/08 Javascript
浅谈JavaScript正则表达式-非捕获性分组
2017/03/08 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
基于Vue 撸一个指令实现拖拽功能
2019/10/09 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
python编程开发之类型转换convert实例分析
2015/11/13 Python
Python中字符串的常见操作技巧总结
2016/07/28 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
Python实现两个list求交集,并集,差集的方法示例
2018/08/02 Python
Python3使用腾讯云文字识别(腾讯OCR)提取图片中的文字内容实例详解
2020/02/18 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
python 绘制正态曲线的示例
2020/09/24 Python
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
团组织关系介绍信
2014/01/12 职场文书
研修第一天随笔感言
2014/02/15 职场文书
优秀团员事迹材料1000字
2014/08/20 职场文书
入党积极分子批评与自我批评思想汇报
2014/09/14 职场文书
医院护士工作检讨书
2014/10/26 职场文书
日本十大血腥动漫,那些被禁播的动漫盘点
2022/03/21 日漫
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis