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中条件选择和循环语句使用方法介绍
Mar 13 Python
python实现rest请求api示例
Apr 22 Python
简单说明Python中的装饰器的用法
Apr 24 Python
在Python中操作文件之read()方法的使用教程
May 24 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 Python
python中pylint使用方法(pylint代码检查)
Apr 06 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
Dec 14 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
Python多线程:主线程等待所有子线程结束代码
Apr 25 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 Python
python爬虫框架feapde的使用简介
Apr 20 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中的生成XML文件的4种方法分享
2012/10/06 PHP
php如何调用webservice应用介绍
2012/11/24 PHP
php mysql获取表字段名称和字段信息的三种方法
2016/11/13 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
jQuery调用WebService的实现代码
2011/06/19 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
js获得页面的高度和宽度的方法
2014/02/23 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
vue webuploader 文件上传组件开发
2017/09/23 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
vue中render函数的使用详解
2018/10/12 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
Tensorflow简单验证码识别应用
2017/05/25 Python
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
python 实现求解字符串集的最长公共前缀方法
2018/07/20 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
介绍一下linux的文件系统
2015/10/06 面试题
中间件分为哪几类
2012/03/14 面试题
大学生简历的个人自我评价
2013/12/04 职场文书
初婚初育证明
2014/01/14 职场文书
委托公证书范本
2014/04/03 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
2015年学校党建工作总结
2015/05/19 职场文书
催款函范文
2015/06/24 职场文书
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python