Django调试models输出的SQL语句
Posted andyzhang-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django调试models输出的SQL语句相关的知识,希望对你有一定的参考价值。
django1.3在shell下,调试models变得更为简单了,不用像之前的版本,手工去调用django query,才能打印出之前的代码是执行的什么SQL语句.
1.3开始只需在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‘,
},
}
}
使用效果:
>>> A.objects.all()
(0.001) SELECT "app1_a"."id", "app1_a"."name" FROM "app1_a" LIMIT 21; args=()
[<A: A object>]
以上是关于Django调试models输出的SQL语句的主要内容,如果未能解决你的问题,请参考以下文章
django 使用原生SQL语句反向生成MODELS.PY中的表结构