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 相关文章推荐
Flask SQLAlchemy一对一,一对多的使用方法实践
Feb 10 Python
python格式化字符串实例总结
Sep 28 Python
python中numpy包使用教程之数组和相关操作详解
Jul 30 Python
python解析html提取数据,并生成word文档实例解析
Jan 22 Python
python操作mysql代码总结
Jun 01 Python
在python中实现对list求和及求积
Nov 14 Python
深入解析Python小白学习【操作列表】
Mar 23 Python
对Python生成器、装饰器、递归的使用详解
Jul 19 Python
Django 创建新App及其常用命令的实现方法
Aug 04 Python
Python matplotlib可视化实例解析
Jun 01 Python
python数据可视化使用pyfinance分析证券收益示例详解
Nov 20 Python
python 使用pandas读取csv文件的方法
Dec 24 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下安装配置fckeditor编辑器的方法
2011/03/02 PHP
php使用pdo连接mssql server数据库实例
2014/12/25 PHP
微信支付的开发流程详解
2016/09/13 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
JS网络游戏-(模拟城市webgame)提供的一些例子下载
2007/10/14 Javascript
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
vue双向绑定的简单实现
2016/12/22 Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
2017/08/22 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
复制粘贴功能的Python程序
2008/04/04 Python
python删除文件示例分享
2014/01/28 Python
python快速查找算法应用实例
2014/09/26 Python
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
Python基于Socket实现的简单聊天程序示例
2017/08/05 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
windows10 pycharm下安装pyltp库和加载模型实现语义角色标注的示例代码
2020/05/07 Python
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
日本高岛屋百货购物网站:TAKASHIMAYA
2019/03/24 全球购物
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
小学生评语集锦
2014/04/18 职场文书
毕业生应聘求职信
2014/07/10 职场文书
绿色小区申报材料
2014/08/22 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
保护校园环境倡议书
2015/04/28 职场文书
Hive日期格式转换方法总结
2022/06/25 数据库