用于Python的轻量级Mongodb ODM/ORM

Mun*_*tsu 10 python mongodb pymongo flask backbone.js

我正在寻找从两个世界中获得最佳效果的MondoDB Python ODM/ORM:ODM/ORM和超快速直接字典读取.

换句话说,包装应符合以下要求:

  1. 允许定义和实施架构.
  2. 允许验证字段.
  3. 允许直接从mongodb读取对象(无ODM/ORM开销).
    • 可以使用ODM/ORM层(没有额外查询)访问由pymongo直接返回的集合/对象.
    • 我想象一下pymongo驱动程序添加了一些懒惰的字段到可以访问ORM果汁的对象(pymongo允许这样的扩展).
    • 想象一下用例:
      • 为了快速阅读,我们直接去司机,
      • 对于数据输入,我们使用完整的ODM/ORM功能
  4. Geofields支持
  5. GridFS支持普通文件和图像
  6. DBRef支持
  7. 不强制执行任何隐藏的特定于框架的字段
  8. 将与Flask合作:)
  9. 有表格框架.
    • 表格涵盖了子列表/细分
    • 基于骨干的表单会很棒
  10. 根据python定义创建骨干模型,集合和验证器

我知道我要求的很多,但是这样的东西不会很棒:)

事实上,问题可以改为:"现有的Python Mongodb ODM/ORM(MongoKit,MongoEngine)可以通过这种方式轻松扩展."

小智 7

首先,我也喜欢拥有它.

根据我的研究

Ming是一个非常有前途的mongo ODM驱动程序:http://merciless.sourceforge.net/

MongoEngine太大了,无法根据您的要求/用例进行调整.MongoKit也是如此.

micromongo有一些希望:http://packages.python.org/micromongo

可能是一个很好的起点.

顺便说一句:嗯......我不知道你在写什么,但是你可以轻松地构建管理界面并最终拥有下一代Django.祝好运!


小智 4

好吧,如果您采用 ORM 理论,那么您需要的不是 ORM,因为 MongoDB 不是关系数据库,因此不需要映射到关系实体。

我认为你必须检查这篇文章的答案,以检查所提出的建议是否是你所需要的,我个人直接使用 MongoDB + Python,因为 Mongo 和 Python 的“本质”。

环顾四周,我发现这个库可以帮助你mongoEngine。就像 Django ORM 一样。你应该检查一下。