我们的项目中发生了一些非常奇怪的无关数据库命中。有没有办法监控请求的来源,可能是通过行号? SQL打印中间件有所帮助,但我们在任何地方都可以看到可能会生成这些请求但无法找到源。
如果无法实现上述目标,那么关于缩小信息源的任何指示都将非常受欢迎。
答案 0 :(得分:4)
要查找执行查询的代码,您可以安装django-debug-toolbar以确定正在执行的命令以及它们正在运行的表。
完成上述操作后,请尝试连接适用于这些模型的Django signals并使用print
和assert
缩小代码范围。
我确定有更好的方法可以做一些这样的事情(一个python调试器?)但是这是我想到的第一件事,也可能是我最终会做的事情。
答案 1 :(得分:0)
如果要跟踪SQL查询以进行性能优化和调试,以及如何在Django中监视查询调用 为此,该博客将为您提供帮助