Dans la plupart des cas, cela signifie que le précédent Échec de l'exécution de l'instruction SQL. Dans ce cas, vous devez :
-
Activer SQL journalisation , voir l'extrait suivant à coller dans settings.py
-
Définir DEBUG=1 , ou SQL ne sera pas enregistré
-
Exécutez à nouveau runserver , et vous devriez voir toutes les requêtes SQL dans la console
-
Exécutez les dernières requêtes SQL directement dans votre base de données , vous devriez alors trouver les requêtes qui échouent, puis vous devriez pouvoir les déboguer - ou ouvrir une nouvelle question spécifique à la requête à l'origine du problème. Vous pouvez utiliser phpMyAdmin, ou directement un client CLI, ou n'importe quel client de base de données, pour exécuter les requêtes SQL une par une jusqu'à ce que vous trouviez celle qui a besoin d'amour.
Configuration de la journalisation 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',
},
}
}
Si cette configuration ne fournit aucune sortie de console supplémentaire avec runserver
, alors n'hésitez pas à essayer exemple test_project de django-autocomplete-light :
-
Lisez et collez les commandes d'installation dans
/tmp
-
Remplacez le répertoire par
autocomplete_light_env/src/django-autocomplete-light/test_project
-
Ouvrez
test_project/settings.py
, remplacez leLOGGING
configuration par celle du dessus -
Exécutez le serveur et ouvrez votre navigateur
Votre console ressemblera à :
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=[]