Для такой ужасной сложности на уровне данных, как 500 таблиц с 1500 видами, в отличие от большинства ответов, я лично предпочел бы придерживаться SQL (PostgreSQL предлагает действительно отличную реализацию, особенно в новой версии 8.4, которая вам действительно нужна лоббируйте, если у вас есть шанс); единственная ORM, которую я [неохотно] принимаю, - это SQLAlchemy (один из немногих ORB, на которые я действительно не против), но основное добавочное значение - переносимость для разных СУБД: если вы привержены только одному и в проекте эта сложность БД вам бы лучше, тогда мое личное мнение состоит в том, что любой ORM просто накладные расходы, так как разработчикам уровня доступа к данным потребуется глубокое знакомство с конкретной СУБД для сканирования по приемлемой производительности).
Выбрав «raw psycopg2» или SQLAlchemy как технологию для моего уровня доступа к данным, это исключило бы Django (что по моему опыту работает только с его собственным ORM), но это не подходит для проекта такого DB сложности, IMNSHO). Я бы пошел с Werkzeug, лично, в качестве основы, наиболее подходящей для очень сложных проектов, требующих нелепой гибкости и мощности - хотя Pylons и Turbogears 2 поверх нее могут быть приемлемы как неудача, если команда просто не делает " у вас есть опыт работы с веб-приложениями и навыки, необходимые для создания действительно прекрасной музыки с гибкой структурой, такой как Werkzeug.
Последнее, но не менее важное: я сильно лоббировал Dojo для слоя презентации на клиенте - богатую и сильно структурированную структуру Javascript, предлагающую превосходно разработанные функции для «локальных данных», хост-доступ, & c, оптимизированный для лучшего, что может предложить каждый из нескольких браузеров (и плагинов, таких как Gears), а также расширенные функциональные возможности пользовательского интерфейса, кажется наиболее вероятным облегчить тяжелое бремя разработки для основной команды (на самом деле, я настоятельно рекомендую глядя на предложение по существу интерфейса RESTful на стороне сервера и делегировать всю презентационную работу в Dojo на клиенте - см. this site для получения дополнительной информации, за исключением того, что я думаю о JSON, а не в формате XML в качестве предпочтительного формата обмена). Но я с готовностью признаю, что знаю гораздо меньше о аспектах пользовательского интерфейса, чем о задних концах, бизнес-логике и общей архитектуре, поэтому возьмите последний абзац за то, что он стоит! -)
Я второй Django. Это впечатляющая основа. –
Django действительно кажется разумным кандидатом для рассмотрения. +1 –
Большинство из 500 таблиц имеют составной первичный ключ - это еще поддерживается в Django? – harto