I'm looking for MondoDB Python ODM/ORM that takes the best from two worlds: ODM/ORM & ultra fast direct dictionary read.
In other words package shall comply with following requirements:
- Allows to define and enforce schema.
- Allows to validate fields.
- Allows to read objects directly from mongodb (no ODM/ORM overhead).
- Collections/objects returned directly by pymongo can be accessed using ODM/ORM layer (w/o extra queries).
- I would imagine some kind of lazy field added by pymongo driver to objects that provides access to ORM juice (pymongo allows for such extensions).
- Imagine use case:
- For fast read we go directly to driver,
- For data entry we use full ODM/ORM functionality
- Geofields support
- GridFS support of normal files and images
- DBRef support
- Does not enforce any hidden, framework specific fields
- Will work with Flask :)
- Has forms framework.
- Forms cover sublists/subdicts
- Backbone based forms would be just awesome
- Creates backbone models, collections, validators based of python definition
I know that I'm asking for much but wouldn't it be awesome to have something like this :)
In fact question could be rephrased into: "Which of existing Python Mongodb ODM/ORMs (MongoKit, MongoEngine) could be easily extended this way."