Depending on what you want to do, you actually have several possible frameworks:
[Django] Big, strong (to the limit of the python framework), and senior in the race. Used by several "large" sites around the world ([Django sites]). However, this is a bit overkill for almost everything and with an outdated coding approach.
[Turbogears] is a recent structure based on Pylons. I don’t know much about this, but received a lot of good reviews from friends who tried it.
[Pylons] (which Turbogears2 is based on). Often seen in "PHP Python", it allows you to develop very quickly from scratch. Even if this may seem inappropriate for large projects, it is often faster and easier.
The last option is [Zope] (with or without Plone), but Plone is a way to slow down, and the Zope learning curve is too long (not to mention replacing ZODB with an SQL connector), therefore, t know the scope yet, just forget about it .
And yes, ORM seems mandatory for a project of this size. For Django, you have to handle the migration to your database models (I don’t know how difficult it is to connect SQLAlchemy to Django). For turbo engines and pylons, the most appropriate solution is [SQLAlchemy], which is actually the most complete (and upstream) ORM for python. For zope ... well, nevermind
And last but not least, I’m not sure that you are starting a good foundation for your project. 500 tables on any python framework will scare me to death. A boring but tough language like java (hibernate + spring + tapestry or so) seems more appropriate.
source share