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获取GY-85九轴模块信息示例
Dec 05 Python
python使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
Python写的PHPMyAdmin暴力破解工具代码
Aug 06 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
python 读写中文json的实例详解
Oct 29 Python
python机器学习库常用汇总
Nov 15 Python
Pandas 合并多个Dataframe(merge,concat)的方法
Jun 08 Python
Python在for循环中更改list值的方法【推荐】
Aug 17 Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 Python
如何在Anaconda中打开python自带idle
Sep 21 Python
python实现自动清理文件夹旧文件
May 10 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
Get或Post提交值的非法数据处理
2006/10/09 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
PHP安全的URL字符串base64编码和解码
2014/06/19 PHP
分享一段PHP制作的中文拼音首字母工具类
2014/12/11 PHP
php foreach如何跳出两层循环(详解)
2016/11/05 PHP
几行代码轻松搞定jquery实现flash8类似的连接效果
2007/05/03 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
基于javascript实现图片切换效果
2016/04/17 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
浅谈AngularJs 双向绑定原理(数据绑定机制)
2017/12/07 Javascript
layui添加动态菜单与选项卡 AJAX请求的例子
2019/09/25 Javascript
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
vue项目中锚点定位替代方式
2019/11/13 Javascript
如何在vue中使用jointjs过程解析
2020/05/29 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
Python语言实现将图片转化为html页面
2017/12/06 Python
python实现回旋矩阵方式(旋转矩阵)
2019/12/04 Python
如何基于python3和Vue实现AES数据加密
2020/03/27 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
正隆泰信息技术有限公司上机题
2012/06/14 面试题
大学生水文观测实习自我鉴定
2013/09/29 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
前台岗位职责范本
2015/04/16 职场文书
教学副校长工作总结
2015/08/13 职场文书
MySQL 数据 data 基本操作
2022/05/04 MySQL