【问题标题】:django 1.5 with mongodbdjango 1.5 和 mongodb
【发布时间】:2013-09-04 06:25:42
【问题描述】:

我想使用 django(当前为 1.5.2)和 mongodb(当前为 2.4.6)。 到现在我都试过了:

  1. mongodbengine:不喜欢从 Document 类继承(he said 更好)。
  2. django-mongodb-engine 这正是我想要的,只有当它运行时我的 django 跳转到 1.3 而不是 1.5.2 [我没有多想,从 1.3 分支猜测它是 norel 并假设它最好留在 1.5.2]。
  3. 看看those 并试图节省一些时间在这里问..

请告知,我的目标是运行 django 1.5.2(带有 virtualenv),这样我就可以将普通模型与 mongodb DB 一起使用。 最好的方法是什么?

【问题讨论】:

    标签: python django mongodb


    【解决方案1】:

    恐怕djangomongoengine 还没有集成,但它仍在工作中。如果你想使用mongoengine,我建议你使用flask,因为你必须使用它的另一种方式相当令人沮丧,其中你需要使用光标连接到mongodb,在你的models.py文件和然后从Document 继承来创建你的类。

    因此,每次需要使用模型时,都需要重新连接,多次访问数据库。这不是 django 通常的操作方式,因为它使用一个连接来处理多个查询以提高效率。

    从长远来看,这将成为一种真正的痛苦,我强烈反对你使用 django 和 mongoenginemongodb,尤其是对于一个刚接触 django 的人。

    如果您是 django 新手,请使用像 Sqlite3PostgreSQL 这样的 RDBMS 来进行开发。但是如果mongodb的使用是必须,那么我建议你首先重新考虑使用django,因为mongodb通过mongoengine与flask有更好的集成。 p>

    而且我建议你在处理mongodb 时不要使用mongoengine 以外的任何东西,因为mongoenginemongodb 的支持最好,并且到目前为止使用 mongodb 和 python 时最灵活的选项。不仅如此,语法也几乎和django的ORM一模一样。

    我很遗憾我无法提供更好的答案,唯一的解决方案是每次都建立连接,更不用说所有这些都不能很好地与 django 的表单集成,这是一个很大的麻烦。

    【讨论】:

      【解决方案2】:

      您可以将 SQL 关系数据库用于 django 模型,例如 User。然后您可以使用Database Router 根据应用名称进行路由,如果是auth 则使用关系数据库。这将让您通过 app/model 指定要使用的数据库。

      来自本网站某人的示例:Mixing Postgres and Mongo

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-17
        • 1970-01-01
        • 1970-01-01
        • 2023-03-05
        • 2012-08-27
        • 1970-01-01
        • 2013-05-19
        相关资源
        最近更新 更多