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 相关文章推荐
windows下安装Python和pip终极图文教程
Mar 05 Python
django项目运行因中文而乱码报错的几种情况解决
Nov 07 Python
Python 用Redis简单实现分布式爬虫的方法
Nov 23 Python
Python Pandas中根据列的值选取多行数据
Jul 08 Python
TensorFlow实现简单的CNN的方法
Jul 18 Python
Python 如何提高元组的可读性
Aug 26 Python
Python 实现黑客帝国中的字符雨的示例代码
Feb 20 Python
使用 Python ssh 远程登陆服务器的最佳方案
Mar 06 Python
Python实现壁纸下载与轮换
Oct 19 Python
Python并发爬虫常用实现方法解析
Nov 19 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 Python
python抢购软件/插件/脚本附完整源码
Mar 04 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
世界第一个无线广播电台 KDKA
2021/03/01 无线电
PHP 开发环境配置(测试开发环境)
2010/04/28 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
splice slice区别
2006/10/09 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
原生js 秒表实现代码
2012/07/24 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
php常见的页面跳转方法汇总
2015/04/15 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
Python中if __name__ == &quot;__main__&quot;详细解释
2014/10/21 Python
Python 基于Twisted框架的文件夹网络传输源码
2016/08/28 Python
Python 装饰器使用详解
2017/07/29 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
基于注解实现 SpringBoot 接口防刷的方法
2021/03/02 Python
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
Blue Nile中国官网:全球知名的钻石和珠宝网络零售商
2020/03/22 全球购物
小学英语课后反思
2014/04/26 职场文书
小学教师读书活动总结
2014/07/08 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
大学生学期个人总结
2015/02/12 职场文书
小学校长个人总结
2015/03/03 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
职场中的你,辞职信写对了吗?
2019/06/26 职场文书