Django 如何在单元测试的时候也打印 SQL 语句
在非单元测试的时候可以通过如下配置,让 Django
输出 ORM
操作对应的 SQL
语句。
LOGGING = { 'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console':{
'level':'DEBUG',
'class':'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'propagate': True,
'level':'DEBUG',
},
}
}
但是上述的配置到了单元测试的时候就不打印 SQL
了,请问应该如何做才能的单元测试中也输出 ORM
操作对应的 SQL
语句呢?
回答:
我自己解决了,写了一篇文章来解决这个问题
https://juejin.cn/post/697767...
回答:
from django.db import connection
print(connection.queries[-1])
单元测试脚本加入
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
django.setup()
应该也可以吧
以上是 Django 如何在单元测试的时候也打印 SQL 语句 的全部内容, 来源链接: utcz.com/p/937997.html