Панель отладки 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

Другие вопросы по тегам