Панель отладки django, показывающая SQL как None
Мы используем django-debug-toolbar в двух связанных приложениях, одно из которых служит нашему устаревшему приложению django, а другое - нашему более новому API. Недавно панель инструментов отладки в API показала запросы SQL как None (см. Снимок экрана)
Другое приложение работает, как и ожидалось.
Оболочка debugsqlshell, которая поставляется с панелью инструментов отладки, также сообщает о запросах как None:
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]:
Я проверил некоторые очевидные вещи.
- В последнее время никакие настройки не были изменены в уязвимом приложении, и, в частности, промежуточное программное обеспечение не было переупорядочено каким-либо образом, что является потенциальной причиной проблемы.
- Панель инструментов отладки не обновлялась в последнее время, и обновление панели инструментов отладки до текущей версии не влияет на ситуацию.
- Я могу видеть запросы с использованием CaptureQueriesContext (из django.test.utils) при запуске в тестовом контексте, но не в debugsqlshell.
В настоящее время я пытаюсь найти точку в истории, где это сломалось. Буду признателен за любые предложения по потенциальным причинам, чтобы помочь локализовать и исправить эту проблему.
2 ответа
У меня была такая же проблема с панелью отладки django. Я понизил mysqlclient с версии 1.3.14 до 1.3.13, и теперь он работает.
Ребята из GitHub рекомендуют обновить Django до v2.1.5. В основном, обновление является лучшим решением, чем понижение версии. Меня устраивает.
https://github.com/jazzband/django-debug-toolbar/issues/1124