Bad parts of django
This post is still in-progress. Please be patient and don't read it if you are lazy to re-read it when it's ready. When I'm finished, I will publish it on hacker news, reddits and so on, and if you are interested -- you will probably won't miss it.
- There's no session in ORM, so if you want flexibility in some situations not to call save(), and in some -- do call, then you need to implement save=True parameter in your business-logic.
- There's no identity-map in ORM, so you need to make sure by yourself that if you modified some object (and did not save it), all later code will use the same object. Also you get additional queries everywhere, and if you have "by id" external links, you can't do quicks optimization by just selecting "most hot" objects once, and be sure they'll be loaded from memory (or do it by hands).