当 DEBUG=True 和 DEBUG=False 时,是否有可能看到原始 sql?对于方法 delete() 和 save() 呢? 我想记录对我的应用程序的所有请求,但我不明白如何记录原始 sql。
请您参考如下方法:
请务必阅读 docs on logging .
您需要 django.db.backends logger和 RequireDebugFalse filter .
示例设置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'console':{
'level':'DEBUG',
'filters': ['require_debug_false'],
'class':'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers':['console'],
'propagate': True,
'level':'DEBUG',
},
}
}
注意:您还可以在 SQL 服务器配置中启用 SQL 查询日志记录,而无需接触 django。有关详细信息,请参阅您的 SQL 服务器文档。
