1
xpresslink 2018-12-24 13:37:26 +08:00
ORM 最大的好处是:摆脱了裸写 SQL 造成的对特定数据库方言的依赖,便于在不同数据库之间迁移或部署。
只有一两个表的情况用 ORM 没有太大意义体现不出来什么优势。大量的表和关系要管理时候用起来才值得。还有就是多人合作的项目中便于统一接口集中控制。 目前建议你用 sqlalchemy,这种冷门的 ORM 最好别学,大概率耽误功夫。 |
2
warcraft1236 OP @xpresslink sqlalchemy 听说非常难用,PonyORM peewee 稍微简单点
|
3
xpresslink 2018-12-25 10:28:05 +08:00
@warcraft1236 要说 python 的 ORM 库里面 sqlacchemy 基本上是事实标准,你要是用的生产环境以后也有很多需求,非它莫数, 能很好地支持事务和分表就这两项其它的 ORM 就没的比。Pony 和 peewee 之类的只是小玩具。而且 sqlalchemy 在其它好几语言都有实现比如 golang 之类的。
另一个好用的 ORM 就算是 Django 内置带的那个了,其实是从 RoR 那里克隆来的用的 Active Record 方式,上手容易文档丰富,用起来比较直观,不象 sqlachemy 那么拧巴。因为 sqlachemy 用的 data mapper 实现,必须使用另外的持久层来保持与数据库的交互,好处是代码和数据库也是完全隔离的。 |