Ответ 1
Вы проверили это? https://groups.google.com/forum/?fromgroups=#!topic/sqlalchemy/VXXB12-3JCY
Кроме того, сравнение Django ORM и SQL Alchemy:
http://blog.mathieu-leplatre.info/sqlalchemy-a-brave-new-world.html
Вставьте форму ответа в вышеуказанную ссылку google groups:
Марк Эрбог 22/11/2010
У меня нет кода примера, но я написал несколько приложений Python (и одно приложение на С++) с использованием простого SQL и начал работу над новым приложением, используя SQLAlchemy, поэтому я поделюсь своим опыт.
Позвольте добавить, что я провел несколько лет, поддерживая умеренный размер SQL и написал много чистого SQL, хотя и не обязательно используя Python.
Как мои программы обращались к SQL, я обнаружил, что пишу много кода SQL для доступа к данным. Многие из этого кода, хотя и не идентичны, были очень похоже и казался излишним. Например, возьмите простую одиночную таблицу Погляди. Если вы хотите сделать простой CRUD (создать, обновить и удалить), вы должны писать по крайней мере три отдельных оператора SQL для каждой таблицы. Хотя скелет этих операторов SQL схож, конкретные имена столбцов и имя таблицы разные. В конце концов я написал несколько Подпрограммы Python, которые будут строить инструкции SQL, если я предоставил список столбцов и имя таблицы. Но это то, что делает SQLAlchemy (и многое другое), так зачем изобретать колесо?
В случае моего приложения на С++ (я не нашел подходящую ORM), я оказался написав Python script для генерации операторов SQL и кода на С++ для доступ к таблицам.
Другим преимуществом является относительная легкость, с которой вы можете справиться изменения структуры базы данных. Когда я разрабатывал приложение SA, я понял, что мне нужен новый столбец (по крайней мере) одной из моих таблиц. Я использую декларативный подход SA, и мне нужно было добавить столбец к моему декларативному. Мне не нужно было менять код SQL или Python.
Одна "проблема", с которой я столкнулась с SQLAlchemy, не понимает, как я это делал вещи с чистым SQL. На этом простейшем уровне SQLAlchemy может генерировать код SQL и Python для доступа к отдельным таблицам, и вы можете соблазн написать код Python для объединения такого вида доступа к одной таблице в больших графиках данных, но истинная мощность (IMHO) SQLAlchemy что он может обрабатывать сложные графики данных автоматически.
Марк