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的id()函数解密过程
Dec 25 Python
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
Aug 25 Python
python发送HTTP请求的方法小结
Jul 08 Python
利用python微信库itchat实现微信自动回复功能
May 18 Python
Python3 queue队列模块详细介绍
Jan 05 Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
python向字符串中添加元素的实例方法
Jun 28 Python
利用python实现汉字转拼音的2种方法
Aug 12 Python
Python实现图像的垂直投影示例
Jan 17 Python
浅析python 定时拆分备份 nginx 日志的方法
Apr 27 Python
Python生成并下载文件后端代码实例
Aug 31 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学习笔记(三)操作符与控制结构
2011/08/06 PHP
判断PHP数组是否为空的代码
2011/09/08 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
php引用和拷贝的区别知识点总结
2019/09/23 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
基于jquery的lazy loader插件实现图片的延迟加载[简单使用]
2011/05/07 Javascript
js实现杯子倒水问题自动求解程序
2013/03/25 Javascript
JS+html5制作简单音乐播放器
2020/09/13 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
2017/12/26 Javascript
Vue组件化开发思考
2018/02/02 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
Python表示矩阵的方法分析
2017/05/26 Python
Python WSGI的深入理解
2018/08/01 Python
Python输出\u编码将其转换成中文的实例
2018/12/15 Python
详解python中init方法和随机数方法
2019/03/13 Python
python manage.py runserver流程解析
2019/11/08 Python
python基于event实现线程间通信控制
2020/01/13 Python
HTML5 实战PHP之Web页面表单设计
2011/10/09 HTML / CSS
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
澳大利亚吉他在线:Artist Guitars
2017/03/30 全球购物
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
数控加工专业毕业生自荐信
2013/09/27 职场文书
大学生个人求职口试自我评价
2014/02/16 职场文书
不拖欠农民工工资承诺书
2014/03/31 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
2014小学数学教研组工作总结
2014/12/06 职场文书
不同意离婚上诉状
2015/05/23 职场文书
六五普法学习心得体会
2016/01/21 职场文书
2019最新劳动仲裁申请书!
2019/07/08 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python