你检查了吗?
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
粘贴上述谷歌群组链接的回复:
马克 Erbaugh 22/11/2010
我没有任何示例代码,但我已经使用纯 SQL 编写了几个 Python 应用程序(和一个 C++ 应用程序),并且已经开始使用 SQLAlchemy 开发一个新应用程序,所以我将分享我的经验。
让我补充一下,我花了几年时间维护一个中等规模的 SQL 数据库,并编写了许多纯 SQL,尽管不一定使用 Python。
当我的程序访问 SQL 时,我发现自己编写了大量的 SQL 代码来访问数据。很多这样的代码虽然不完全相同,但非常相似并且似乎是多余的。例如,进行简单的单表查找。如果你想做简单的 CRUD(创建、更新和删除),你必须为每个表编写至少三个单独的 SQL 语句。虽然这些 SQL 语句的框架相似,但具体的列名和表名是不同的。如果我提供了列列表和表名,我最终编写了一些 Python 例程来构建 SQL 语句。但这就是 SQLAlchemy 所做的(以及更多),那么为什么要重新发明轮子呢?
对于我的 C++ 应用程序(我没有找到合适的 ORM),我最终编写了一个 Python 脚本来生成 SQL 语句和 C++ 代码来访问表。
另一个优点是您可以相对轻松地处理对数据库结构的更改。在我开发 SA 应用程序时,我意识到我需要在(至少)我的一个表中添加一个新列。我使用的是 SA 的声明式方法,我只需要将列添加到我的声明式中。我不必更改任何 SQL 或 Python 代码。
我在使用 SQLAlchemy 时遇到的一个“问题”是忘记了我使用纯 SQL 做事的方式。在最简单的层面上,SQLAlchemy 可以生成 SQL 和 Python 代码来访问单个表,您可能很想编写 Python 代码来将这种单表访问合并到更大的数据图中,但 SQLAlchemy 的真正强大之处(恕我直言)是它可以自动处理复杂的数据图。
标记