我无法正常运行django mongo引擎。
我在settings.py中的数据库条目是
DATABASES = {
'default': {
'ENGINE': 'django_mongodb_engine',
'NAME': 'local',
}
}我的pip冻结结果是
Django==1.8.2
django-mongodb-engine==0.5.2
djangotoolbox==1.6.2
pymongo==3.0.2运行时出错
python manage.py runserver是
django.core.exceptions.ImproperlyConfigured: 'django_mongodb_engine' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
u'base', u'mysql', u'oracle', u'postgresql_psycopg2', u'sqlite3'
Error was: cannot import name BaseDatabaseFeatures任何如何解决这个问题的建议。
发布于 2015-05-29 18:27:59
根据documentation,您还需要安装django-nonrel。
发布于 2018-01-08 21:18:40
但是,它的主要缺点是只有在使用Python2.x的情况下才能使用django-nonrel,而不能使用Python3.x
发布于 2018-03-22 06:30:27
我有这个问题。如果您计划使用Django 1.7.x, 1.8.x,那么可以使用的库是:
django-mongoengine v0.2.1
在以后的版本(pip install django-mongoengine)中,它会强制安装Django 2.x (你仍然可以通过添加--no-deps来取消),但是如果强制安装django-mongoengine包版本,麻烦还是要少一些:‘`pip install git+https://github.com/MongoEngine/django-mongoengine@v0.2.1
requirements.txt文件保持如下所示:
Django==1.7.11
-e git+https://github.com/MongoEngine/django-mongoengine@4ea7168faf9b6f67a5c9e8e82690b4310aca0ff0#egg=django_mongoengine-v0.2.1
djangotoolbox==1.8.0
mongoengine==0.13.0
pymongo==2.8
pyserial==3.1.1
requests==2.13.0
six==1.10.0
wheel==0.24.0django-mongoengine的好处是它可以让你轻松地access pymongo方法:
class Post(Document):
#fields
collection = Post._get_collection()
collection.update({}, {"$set": {"newfield": 1}}, multi=True)https://stackoverflow.com/questions/30527086
复制相似问题