Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django AttributeError:“DatabaseOperations”对象没有属性“select”_Django_Python 2.7_Postgis_Geodjango - Fatal编程技术网

Django AttributeError:“DatabaseOperations”对象没有属性“select”

Django AttributeError:“DatabaseOperations”对象没有属性“select”,django,python-2.7,postgis,geodjango,Django,Python 2.7,Postgis,Geodjango,我有一个GeoDjango实例连接到PostGIS数据库后端。查询此数据库中的表时,标题中出现错误: AttributeError: 'DatabaseOperations' object has no attribute 'select' 正如其他地方所建议的,我检查以确保我的本地_settings.py文件指定了正确的数据库引擎:“engine”:“django.contrib.gis.db.backends.postgis”。这在我的设置文件中已经正确 如何解决此问题?听起来好像您的Dj

我有一个GeoDjango实例连接到PostGIS数据库后端。查询此数据库中的表时,标题中出现错误:

AttributeError: 'DatabaseOperations' object has no attribute 'select'
正如其他地方所建议的,我检查以确保我的本地_settings.py文件指定了正确的数据库引擎:“engine”:“django.contrib.gis.db.backends.postgis”。这在我的设置文件中已经正确


如何解决此问题?

听起来好像您的Django设置不太正确,您的数据库引擎可能是“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': ''}}
上面显示,我配置了一个“默认”数据库,它使用的是我们想要的postgis引擎


注意在设置中使用dj_database_url包,因为这可能会覆盖环境变量中的数据库设置。此外,还要注意设置中的多个数据库,而不是默认数据库。

听起来引擎不是“django.contrib.gis.db.backends.postgis”,尽管您提到了本地设置,但您没有提供足够的信息来说明为什么会出现这种情况。