出于测试目的,如何防止 Django 在初始查询期间自动获取 select_lated() 调用中未指定的相关表?
我有一个大型应用程序,在每个原始查询期间,我大量使用 select_lated() 引入相关模型数据。所有 select_lated() 调用都用于指定特定的相关模型,而不是依赖于默认模型,例如 select_lated('foo', 'bar', 'foo__bar')
随着应用程序的增长,select_lated 调用还没有完全跟上,留下了许多 Django 愉快而友好地运行到数据库以获取相关模型行的场景。这显着增加了数据库命中的数量,这显然是我不希望的。
通过检查使用 django.db.connection.queries 集合生成的查询,我已经成功地跟踪了这些问题,但有些问题仍未解决。
我尝试在 django 代码中找到合适的补丁位置,以在这种情况下引发异常,从而使跟踪变得更容易,但往往会迷失在代码中。
谢谢。
django ×1