【问题标题】:django 1.5 with mongodbdjango 1.5 和 mongodb
【发布时间】:2013-09-04 06:25:42
【问题描述】:
我想使用 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 一起使用。
最好的方法是什么?
【问题讨论】:
标签:
python
django
mongodb
【解决方案1】:
恐怕django 和mongoengine 还没有集成,但它仍在工作中。如果你想使用mongoengine,我建议你使用flask,因为你必须使用它的另一种方式相当令人沮丧,其中你需要使用光标连接到mongodb,在你的models.py文件和然后从Document 继承来创建你的类。
因此,每次需要使用模型时,都需要重新连接,多次访问数据库。这不是 django 通常的操作方式,因为它使用一个连接来处理多个查询以提高效率。
从长远来看,这将成为一种真正的痛苦,我强烈反对你使用 django 和 mongoengine 或 mongodb,尤其是对于一个刚接触 django 的人。
如果您是 django 新手,请使用像 Sqlite3 或 PostgreSQL 这样的 RDBMS 来进行开发。但是如果mongodb的使用是必须,那么我建议你首先重新考虑使用django,因为mongodb通过mongoengine与flask有更好的集成。 p>
而且我建议你在处理mongodb 时不要使用mongoengine 以外的任何东西,因为mongoengine 对mongodb 的支持最好,并且到目前为止使用 mongodb 和 python 时最灵活的选项。不仅如此,语法也几乎和django的ORM一模一样。
我很遗憾我无法提供更好的答案,唯一的解决方案是每次都建立连接,更不用说所有这些都不能很好地与 django 的表单集成,这是一个很大的麻烦。