Django属性错误:数据库操作';对象没有属性';选择'; [英] Django AttributeError: 'DatabaseOperations' object has no attribute 'select'
本文介绍了Django属性错误:数据库操作';对象没有属性';选择';的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个连接到PostGIS数据库后端的GeoDjango实例。当我在这个数据库中查询一个表时,我在标题中得到错误:
AttributeError: 'DatabaseOperations' object has no attribute 'select'
如其他地方所建议的,我检查以确保我的local_settings.py
文件指定了正确的数据库引擎:'ENGINE': 'django.contrib.gis.db.backends.postgis'
。这在我的设置文件中已经正确。
如何解决此问题?
推荐答案
您的django设置听起来不太正确,您的数据库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'
数据库,并且它使用的是"postgis"引擎(这正是我们想要的)。
dj_database_url
程序包,因为这可能会覆盖环境变量中的数据库设置。还要注意设置中"默认"之外的多个数据库。
这篇关于Django属性错误:数据库操作';对象没有属性';选择';的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文