Python Django独立SQL日志记录
我知道在Django中,我可以使用Python Django独立SQL日志记录,python,sql,django,logging,Python,Sql,Django,Logging,我知道在Django中,我可以使用Django.db.backends作为我的settings.py中的日志来查看所有SQL语句作为日志。然而,我不知道有什么好方法可以知道哪个SQL语句来自于我编写的哪个Django脚本和函数。我研究了q.as_sql()和q.sql\u with_params(),其中q是一个查询集,我尝试使用这些记录每个查询集的sql语句 然而,这些函数似乎是针对不再受支持的Django的旧版本的?我还尝试为django.db.backends记录器提供一个处理程序,其格式
Django.db.backends
作为我的settings.py
中的日志来查看所有SQL语句作为日志。然而,我不知道有什么好方法可以知道哪个SQL语句来自于我编写的哪个Django脚本和函数。我研究了q.as_sql()
和q.sql\u with_params()
,其中q
是一个查询集,我尝试使用这些记录每个查询集的sql语句
然而,这些函数似乎是针对不再受支持的Django的旧版本的?我还尝试为django.db.backends
记录器提供一个处理程序,其格式包括文件名和函数,但文件名始终是utils.py
,我假设它是执行日志记录或SQL执行的django脚本。我试图做的是修改django.db.backends
生成的SQL日志,例如,如果我执行这种查询:
val,created=Value.objects.get\u或\u create(val\u type=int)
在名为databaseinserter.py
的文件中的函数insertIntoDatabase()
中,日志不仅会显示该查询中涉及的原始SQL,还会显示SQL语句来自文件databaseinserter.py
中的函数insertIntoDatabase()
。我怎样才能做到这一点?最好让SQL日志也记录Django代码导致的SQL语句的行号