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进行行为驱动开发的入门教程
Apr 23 Python
你真的了解Python的random模块吗?
Dec 12 Python
python 文件查找及内容匹配方法
Oct 25 Python
Python实现的列表排序、反转操作示例
Mar 13 Python
Python 通过打码平台实现验证码的实现
May 13 Python
python机器学习库scikit-learn:SVR的基本应用
Jun 26 Python
对python中不同模块(函数、类、变量)的调用详解
Jul 16 Python
用Python配平化学方程式的方法
Jul 20 Python
pycharm配置当鼠标悬停时快速提示方法参数
Jul 31 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
django下创建多个app并设置urls方法
Aug 02 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性能优化的介绍
2013/06/20 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
PHP实现的随机红包算法示例
2017/08/14 PHP
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
Jquery插件写法笔记整理
2012/09/06 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
微信小程序实现通过双向滑动缩放图片大小的方法
2018/12/30 Javascript
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
讲解python参数和作用域的使用
2013/11/01 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
Tensorflow之Saver的用法详解
2018/04/23 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
解决安装pyqt5之后无法打开spyder的问题
2019/12/13 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
俄罗斯商务邀请函
2014/01/26 职场文书
工作检讨书500字
2014/10/19 职场文书
倡议书作文
2015/01/19 职场文书
音乐教师求职信范文
2015/03/20 职场文书
2015年全国保险公众宣传日活动方案
2015/05/06 职场文书
入党转正介绍人意见
2015/06/03 职场文书
学生会工作感言
2015/08/07 职场文书
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
python实现剪贴板的操作
2021/07/01 Python