我想将 django(当前为 1.5.2)与 mongodb(当前为 2.4.6)一起使用。 到目前为止我已经尝试过:
- mongodbengine:不喜欢从 Document 类继承(he said 更好)。
- django-mongodb-engine 这正是我想要的,只有当它运行时我的 django 才会跳到 1.3 而不是 1.5.2 [我没有考虑太多,猜测它是 1.3 分支中的 norel 并假设它最好保持在 1.5.2]。
- 查看those并试图节省自己一些时间在这里询问..
请告知,我的目标是运行 django 1.5.2(使用 virtualenv),这样我就可以使用带有 mongodb DB 的普通模型。 最好的方法是什么?
最佳答案
恐怕django
和mongoengine
尚未进行集成,但仍在进行中。如果你想使用mongoengine
,我建议你使用flask,因为你必须使用它的另一种方式是相当令人沮丧的,其中你需要连接到 mongodb
使用光标,在 models.py
中文件,然后继承 Document
来上课。
因此,每次您需要使用模型时,都需要重新连接,多次访问数据库。这不是 django 通常的操作方式,因为它使用一个连接来处理多个查询,以提高效率。
从长远来看,这会成为真正的痛苦,我强烈建议您不要使用 django 和 mongoengine
或mongodb
就此而言,尤其是对于刚接触 django 的人来说。
如果您是 django 新手,请使用类似 Sqlite3
的 RDBMS或PostgreSQL
做你的发展。但如果使用mongodb
是必须,那么我建议您首先重新考虑使用 django,因为 mongodb
与flask有更好的集成,通过mongoengine
.
我建议您不要使用 mongoengine
以外的任何内容。处理 mongodb
时,因为mongoengine
对mongodb
有最好的支持,并且是使用 mongodb
时迄今为止最灵活的选项和 python 。不仅如此,其语法与 django 的 ORM 几乎相同。
我深感遗憾的是我无法提供更好的答案,唯一的解决方案仍然是每次都建立连接,更不用说所有这些都不能很好地与 django 的表单集成,这是一个很大的遗憾。
关于python - Django 1.5 与 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18606803/