我正在使用 mongodb 和 django-nonrel 构建一个站点。我在各个地方读到过,对于 mongo,使用直接 pymongo 比使用 django ORM 更好。这也符合我的经验——django 的 ORM 对于关系数据库来说非常棒,但是对于 pymongo 没有提供的功能并没有太多。
我的问题是我最初不知道如何在不使用 django 的 ORM 的情况下设置数据库表(错误...“集合”)。我需要做什么才能摆脱models.py和syncdb的束缚,自己写代码?
似乎有人应该已经为此创建了指南,但我找不到。
更详细一点:
现在,我正在构建模型并运行 syncdb 来配置数据库。到目前为止,django 的 ORM 魔法已经让它发挥了作用。但是我需要做一些稍微花哨的事情,比如对子元素进行索引,所以我认为 ORM 不再适合我了。
最重要的是,我不在项目的其他任何地方使用模型(除了 auth_users 和会话)。真正的模式在 json 中的其他地方定义。我不想同时维护模型类和 json 模式——这只是不好的做法。
最后,我有一个“loadfixtures”管理命令,用于刷新、syncdb 和加载fixture。看起来这对于新的 ORM 替换代码来说是一个非常好的地方,我只是不知道那个代码应该是什么样子......