python

超轻量级php框架startmvc

Django打印出在数据库中执行的语句问题

更新时间:2020-07-18 14:54 作者:startmvc
先给大家介绍下Django打印出在数据库中执行的语句有时我们需要看models操作时对应的SQL语句

先给大家介绍下Django打印出在数据库中执行的语句

有时我们需要看models操作时对应的SQL语句,

可以用如下方法查看---

在django project中的settings文件尾部添加如下代码


LOGGING = {
 'version': 1,
 'disable_existing_loggers': False,
 'handlers': {
 'console': {
 'class': 'logging.StreamHandler',
 },
 },
 'loggers': {
 'django.db.backends': {
 'handlers': ['console'],
 'level': 'DEBUG' if DEBUG else 'INFO',
 },
 },
}

ps:Django 查看执行的sql语句方法

1、该方法只能查看select语句,对于其他更新保存的语句不能查看,会报错:


res = Province.objects.all()
print (res.query)
SELECT 'core_province'.'id', 'core_province'.'name', 'core_province'.'code' FROM 'core_province'

2、该方法会打印出所有执行过的sql语句

1、先导入connection


from django.db import connection

2、在python文件中打印


print(connection.queries)
# 打印列表中的最后一条sql
# print(connection.queries[-1])

总结

以上所述是小编给大家介绍的Django打印出在数据库中执行的语句问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!