Yeah I know ZODB, but it's not what I want for several reasons:
-Requires C extensions to run (makes it complicated to install on other systems)
-Does not provide advanced querying capabilities (to my knowledge)
-Does not have transparent references and lazy loading (to my knowledge)
-Does not interoperate with MongoDB and other DB systems (to my knowledge)
The nice thing about Blitz is that it allows me to switch from a file-based backend to MongoDB (and SQL in the future) without changing any of my code, and I can write stuff like this:
-Requires C extensions to run (makes it complicated to install on other systems) -Does not provide advanced querying capabilities (to my knowledge) -Does not have transparent references and lazy loading (to my knowledge) -Does not interoperate with MongoDB and other DB systems (to my knowledge)
The nice thing about Blitz is that it allows me to switch from a file-based backend to MongoDB (and SQL in the future) without changing any of my code, and I can write stuff like this:
al_pacino = backend.get(Actor,{'name' : 'Al Pacino'}) robert_de_niro = backend.get(Actor,{'name' : 'Robert de Niro'})
joint_movies = backend.filter(Movie,{'cast' : {'$all' : [al_pacino,robert_de_niro]}})