Не может видеть операторы SQL при входе в Django 2.1.4 - PullRequest
0 голосов
/ 27 апреля 2019

При попытке записать операторы SQL в Django я вижу параметры, продолжительность, но не сам оператор SQL.Параметр контекста sql возвращает None

Я использую MySQL в качестве бэкэнда

Настройка параметров:

DEBUG=True
...
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '{levelname} SQL:{sql} {duration} params:{params}',
            'style': '{',
        }},
        'handlers': {
            'console': {
                'level': 'DEBUG',
                'class': 'logging.StreamHandler',
                'formatter': 'verbose'
            }
        },
        'loggers': {
            'django.db.backends': {
                'handlers': ['console'],
                'level': 'DEBUG',
            },
        }
    }

Пример вывода: DEBUG SQL:None 0.036980390548706055 params:(1,)

Итак, я могу определить продолжительность, параметры, но не операторы SQL.И я не знаю почему.

Моя конфигурация основана на https://docs.djangoproject.com/en/dev/topics/logging/#django-db-backends

1 Ответ

2 голосов
/ 27 апреля 2019

Во время длительного долгого поиска выяснилось, что это ошибка в версии 2.1.4 , обновление до 2.1.5 исправило проблему.Я основал это на этом

https://github.com/jazzband/django-debug-toolbar/issues/1124

Проверено и подтверждено.Вывод после обновления:

DEBUG SQL:SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED 0.035988569259643555 params:None

...