मुझे PostGIS डेटाबेस बैकएंड से एक GeoDjango उदाहरण मिला है। जब मैं इस डेटाबेस में एक तालिका क्वेरी करता हूं, तो मुझे शीर्षक में त्रुटि मिलती है:
AttributeError: "DatabaseOperations" object has no attribute "select"
जैसा कि कहीं और सुझाव दिया गया है, मैंने यह सुनिश्चित करने के लिए जाँच की कि मेरी local_settings.py
फ़ाइल सही डेटाबेस इंजन निर्दिष्ट: "ENGINE": "django.contrib.gis.db.backends.postgis"
। यह मेरी सेटिंग फ़ाइल में पहले से ही सही है।
आप इस समस्या को कैसे ठीक करते हैं?
उत्तर:
जवाब के लिए 0 № 1ऐसा लगता है जैसे कि आपकी Django सेटिंग "t काफी सही है और आपके डेटाबेस की है ENGINE
शायद "django.db.backends.postgresql"
, जब यह होना चाहिए "django.contrib.gis.db.backends.postgis"
। पुष्टि करने के लिए, चलाएं:
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": ""}}
ऊपर से पता चलता है कि मेरे पास एक है "default"
डेटाबेस कॉन्फ़िगर किया गया है और यह "पोस्टगिस" इंजन (जो हम चाहते हैं) का उपयोग कर रहा है।
के उपयोग के लिए बाहर देखो dj_database_url
अपनी सेटिंग में पैकेज करें क्योंकि यह पर्यावरण चर से डेटाबेस सेटिंग्स को ओवरराइड कर सकता है। सेटिंग्स में "डिफ़ॉल्ट" के अलावा कई डेटाबेस के लिए भी देखें।