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 相关文章推荐
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
Nov 27 Python
python模拟enum枚举类型的方法小结
Apr 30 Python
Python在图片中添加文字的两种方法
Apr 29 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
python 将大文件切分为多个小文件的实例
Jan 14 Python
python中类的输出或类的实例输出为这种形式的原因
Aug 12 Python
基于Python实现拆分和合并GIF动态图
Oct 22 Python
PyTorch的torch.cat用法
Jun 28 Python
基于python实现删除指定文件类型
Jul 21 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
Dec 29 Python
Python图片处理之图片裁剪教程
May 27 Python
python中pandas对多列进行分组统计的实现
Jun 18 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
咖啡知识大全
2021/03/03 新手入门
用来解析.htgroup文件的PHP类
2012/09/05 PHP
php类中private属性继承问题分析
2012/11/01 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
浅谈laravel orm 中的一对多关系 hasMany
2019/10/21 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
鼠标移入移出事件改变图片的分辨率的两种方法
2013/12/17 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
JavaScript实现添加、查找、删除元素
2015/07/02 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
非常棒的jQuery图片轮播效果
2016/04/17 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
基于vue,vue-router, vuex及addRoutes进行权限控制问题
2018/05/02 Javascript
Node.js进阶之核心模块https入门
2018/05/23 Javascript
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
JavaScript观察者模式原理与用法实例详解
2020/03/10 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
js实现简单商品筛选功能
2021/02/02 Javascript
python获取各操作系统硬件信息的方法
2015/06/03 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
selenium3+python3环境搭建教程图解
2018/12/07 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
aws 通过boto3 python脚本打pach的实现方法
2020/05/10 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
鲜花方阵解说词
2014/02/13 职场文书
三查三看党性分析材料
2014/02/18 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
爸爸的三轮车观后感
2015/06/16 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
CSS中float高度塌陷问题的四种解决方案
2022/04/18 HTML / CSS