【发布时间】:2019-01-04 18:48:28
【问题描述】:
我们在两个重新安装的应用程序上使用 django-debug-toolbar,一个服务于我们的旧版 django 应用程序,另一个服务于我们更新的 API。最近,API 上的调试工具栏一直将 SQL 查询显示为无(见屏幕截图)
另一个应用程序按预期工作。
调试工具栏附带的 debugsqlshell 也将查询报告为无:
In [8]: user = User.objects.last()
None [0.85ms]
In [9]:
而不是按预期显示查询,如这里所示(在旧版应用端工作):
In [3]: user = User.objects.last()
SELECT @@SQL_AUTO_IS_NULL [1.96ms]
SELECT `auth_user`.`id`,
`auth_user`.`password`,
`auth_user`.`last_login`,
`auth_user`.`is_superuser`,
`auth_user`.`username`,
`auth_user`.`first_name`,
`auth_user`.`last_name`,
`auth_user`.`is_staff`,
`auth_user`.`is_active`,
`auth_user`.`date_joined`,
`auth_user`.`email`
FROM `auth_user`
ORDER BY `auth_user`.`id` DESC
LIMIT 1 [10.00ms]
In [4]:
我已经检查了一些明显的东西。
- 最近在受影响的应用程序上没有更改设置,并且在 特别是,中间件没有以任何方式重新排序,这 似乎是问题的潜在原因。
- 调试工具栏最近没有更新,正在更新 debug-toolbar 到当前版本不影响情况。
- 我可以看到使用 CaptureQueriesContext 的查询(来自 django.test.utils) 在测试上下文中运行时,但不在 调试sqlshell。
我目前正试图找出这件事发生的历史点。对于潜在原因的任何建议,我将不胜感激,以帮助本地化和解决此问题。
【问题讨论】:
标签: django django-debug-toolbar