Ответ 1
В большинстве случаев это означает, что оператор SQL предыдущий не смог выполнить. В этом случае вам необходимо:
-
Включить SQL logging, см. следующий фрагмент для вставки в settings.py
-
Установите DEBUG = 1, или SQL не будет зарегистрирован
-
Запустите runerver снова, и вы должны увидеть все SQL-запросы в консоли
-
Выполнять последние SQL-запросы непосредственно в вашей базе данных, вы должны найти, какие запросы терпят неудачу, а затем вы должны их отлаживать - или открыть новый вопрос, который является специфическим для запрос, который вызывает проблему. Вы можете использовать phpMyAdmin или напрямую клиент CLI или любой клиент базы данных для выполнения SQL-запросов один за другим, пока не найдете тот, который нуждается в некоторой любви.
Конфигурация журнала SQL:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'simple': {
'format': '%(levelname)s %(message)s',
},
},
'handlers': {
'console':{
'level':'DEBUG',
'class':'logging.StreamHandler',
'formatter': 'simple'
},
},
'loggers': {
'django': {
'handlers': ['console'],
'level': 'DEBUG',
},
}
}
Если эта конфигурация не предоставляет дополнительный вывод консоли с помощью runserver
, тогда не стесняйтесь попробовать пример django-autocomplete-light test_project:
-
Прочитайте и вставьте команды установки в
/tmp
-
Измените dir на
autocomplete_light_env/src/django-autocomplete-light/test_project
-
Откройте
test_project/settings.py
, замените конфигурациюLOGGING
на приведенную выше -
Запустить сервер и открыть браузер
Ваша консоль будет выглядеть так:
Validating models...
0 errors found
Django version 1.4.1, using settings 'test_project.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
DEBUG (0.001) SELECT "django_content_type"."id", "django_content_type"."name", "django_content_type"."app_label", "django_content_type"."model" FROM "django_content_type" WHERE ("django_content_type"."model" = taggable AND "django_content_type"."app_label" = charfield_autocomplete ); args=('taggable', 'charfield_autocomplete')
DEBUG (0.000)
SELECT DISTINCT "tagging_tag".id, "tagging_tag".name
FROM
"tagging_tag"
INNER JOIN "tagging_taggeditem"
ON "tagging_tag".id = "tagging_taggeditem".tag_id
INNER JOIN "charfield_autocomplete_taggable"
ON "tagging_taggeditem".object_id = "charfield_autocomplete_taggable"."id"
WHERE "tagging_taggeditem".content_type_id = 11
GROUP BY "tagging_tag".id, "tagging_tag".name
ORDER BY "tagging_tag".name ASC; args=[]