/ / Django AttributeError: Obiekt „DatabaseOperations” nie ma atrybutu „select” - django, python-2.7, postgis, geodjango

Django AttributeError: Obiekt "DatabaseOperations" nie ma atrybutu "select" - django, python-2.7, postgis, geodjango

Mam instancję GeoDjango połączoną z backendem bazy danych PostGIS. Gdy przeszukuję tabelę w tej bazie danych, pojawia się błąd w tytule:

AttributeError: "DatabaseOperations" object has no attribute "select"

Jak sugerowano gdzie indziej, sprawdziłem, aby upewnić się, że mój local_settings.py plik określił poprawny silnik bazy danych: "ENGINE": "django.contrib.gis.db.backends.postgis". Jest to już poprawne w moim pliku ustawień.

Jak rozwiązać ten problem?

Odpowiedzi:

0 dla odpowiedzi № 1

Wygląda na to, że twoje ustawienia Django nie są w porządku i że twoja baza danych ENGINE może "django.db.backends.postgresql", kiedy powinno być "django.contrib.gis.db.backends.postgis". Aby potwierdzić, uruchom:

python manage.py shell

>>> from django.conf import settings
>>> settings.DATABASES
{"default": {"ATOMIC_REQUESTS": False,
"AUTOCOMMIT": True,
"CONN_MAX_AGE": 0,
"ENGINE": "django.contrib.gis.db.backends.postgis",
"HOST": "",
"NAME": "groundedpleasures",
"OPTIONS": {},
"PASSWORD": "",
"PORT": "",
"TEST": {"CHARSET": None, "COLLATION": None, "MIRROR": None, "NAME": None},
"TIME_ZONE": None,
"USER": ""}}

Powyższe pokazuje, że mam jeden "default" baza danych skonfigurowana i korzysta z silnika „postgis” (tego właśnie chcemy).

Uważaj na użycie dj_database_url pakiet w ustawieniach, ponieważ może to zastępować ustawienia bazy danych ze zmiennych środowiskowych. Uważaj również na wiele baz danych innych niż „domyślne” w ustawieniach.