Dalam kebanyakan kasus, ini berarti bahwa sebelumnya Pernyataan SQL gagal dijalankan. Dalam hal ini Anda harus:
-
Aktifkan SQL logging , lihat cuplikan berikut untuk ditempel di settings.py
-
Setel DEBUG=1 , atau SQL tidak akan dicatat
-
Jalankan runserver lagi , dan Anda akan melihat semua kueri SQL di konsol
-
Jalankan kueri SQL terakhir langsung di database Anda , Anda kemudian harus menemukan kueri mana yang gagal dan kemudian Anda harus dapat men-debugnya - atau membuka pertanyaan baru yang khusus untuk kueri yang menyebabkan masalah. Anda dapat menggunakan phpMyAdmin, atau klien CLI secara langsung, atau klien basis data apa pun, untuk mengeksekusi kueri SQL satu per satu hingga Anda menemukan yang membutuhkan cinta.
Konfigurasi SQL Logging:
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',
},
}
}
Jika konfigurasi ini tidak menyediakan output konsol tambahan dengan runserver
, maka jangan ragu untuk mencoba django-autocomplete-light's contoh test_project :
-
Baca dan tempel perintah instalasi di
/tmp
-
Ubah dir menjadi
autocomplete_light_env/src/django-autocomplete-light/test_project
-
Buka
test_project/settings.py
, gantiLOGGING
konfigurasi dengan yang di atas -
Jalankan server dan buka browser Anda
Konsol Anda akan terlihat seperti:
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=[]