Django属性错误:数据库操作'对象没有属性'选择' [英] Django AttributeError: 'DatabaseOperations' object has no attribute 'select'

查看:28
本文介绍了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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆