Python的ORM选择之Pony还是SQLAlchemy?

在Python ORM框架中,Pony和SQLAlchemy各有优势。Pony以其低学习成本和轻量级特性吸引开发者,适合新手和追求效率的web开发者。而SQLAlchemy功能更全面,适合需要高级特性的开发者,尤其是在复杂应用和QT开发中。

编程本身就是对数据的处理。ORM是学习开发绕不过去的坎儿,今天我们就来聊聊在python的orm框架中,面对Pony和Sqlalchemy该如何选择。我最早学习的框架是django,那时候还是1.x系列主流。感觉django和它的orm的设计理念非常nice,但问题也很明显:深度绑定,单独使用很难。后来逐渐接触到其他的orm框架,比如 peewee,pony, sqlalchemy.其中,能够提供和django同样丰富功能的目前看来只有sqlalchemy,几乎你能想到的它都准备好了或者只需要简单的封装就能实现。django的orm和sqlalchemy都是相对重型的orm框架。你可以把sqlalchemy看作能独立使用django的orm也可以。peewee和pony都是相对轻型的ORM框架。

我自己的orm的学习路线是 django-orm–>sqlalchemy --> peewee–> pony–>pony + sqlalchemy.目前是sqlalchemy和pony并用,根据开发场景做选择。这中间四次转向学习的动机如下:

从django-rom到sqlalchemy: 寻找一款无需和django绑定的django-orm的替代品。

从sqlalchemy 到 peewee : sqlalchemy 太繁琐了。想少敲一些代码。我需要一款sqlalchemy的轻量化替代品。

从peewee到pony: peewee的设计有一些我不喜欢的地方,特别是在复杂的关系表上的。而且我厌倦了无穷尽的重复学习。我需要一款学习成本低轻量级ORM框架。

pony + sqlalchemy 双持: 相对sqlalchemy 的传统设计思维,pony里面太多黑魔法了,在嵌入复杂异步框架,打包编译和跨语言调用上容易出现兼容性问题。因此,在这些场景下,还是需要sqlalchemy 这个老大哥出来坐镇。

四款orm我只有在pony和sqlchemy上面比较有经验,而前者比后者大概又多了5-6年的生产经验。所以我现在只能拿pony和sqlchemy做做比较

  1. 学习成本

pony的优势非常明显,需要的学习时间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值