我想将MongoDB用作我的Django项目的数据库后端。虽然网上有很多讨论,但我很难整合它们。
我的目标:
使用默认的Django(所以没有django-nonrel,仍然是1.3)
将它们集成在一起,以便MongoDB支持身份验证(即
默认User
模型)以及会话事项。
如果可能,仍然具有类似ORM的查询系统
据我了解,mongoengine
可以满足我的所有要求,但我遇到麻烦使其工作正常。
文档说要忽略DATABASES设置。如果我没有指定它,Django会引发错误,而如果我填写它,Django会创建该数据库并且不使用我的MongoDB实例,即使我稍后在文件中调用connect()。当我运行syncdb
时,Django使用另一个数据库(我在DATABASES设置中指定的数据库)而不是MongoDB。因此,当我启动MongoDB shell时,我可以看到数据库已创建,但唯一的集合是startup_log,我从未创建过,我怀疑它是自动创建的。
答案 0 :(得分:1)
在设置帮助中添加虚拟后端时,这可能是默认要求的变化吗?
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.dummy'
}
}