python学习:几个常用的 orm 选择orator/sqlalchemy/peewee
对比一个 ORM,选择一个最适合的在项目中使用
orator
- 优点:这个是我最初选择的,因为与
rails
风格类似 - 问题1:最终决定要放弃他的原因,与
poetry
包不兼容,每次都因为这个问题要处理 - 问题2:文档打开慢
- 问题3:N:N 的情况需要用
lazy
的方式import
其它Entity
- 问题4:在写 N:N 的时候,需要自己写很多 sync 类的代码,极为不便
- 问题5:github: 1.3K star,大的更新都是3年前的,不维护的可能性较大
- 问题6:文档打开慢,感觉快要挂掉的样子
- 问题7:
insert_many
类似这种性能好一点的api
也没有
sqlalchemy
- github: 5.5K,目前这几个中第2高的,更新也是几小时前,看上去值得依靠
- 功能很强大,文档很丰富,是一个重量级的 ORM 框架
- 我目前在工作中使用,重一点没关系,但要功能强大,稳定,一次研究可以适应多种复杂的项目环境
peewee
- github: 9.xK,是几个中最高的
- 号称小巧,这一点我有点担心
结论
对比下来,我目前会重点选择试用:sqlalchemy
,后期关于 ORM 的操作,有更新的发现,会继续更新。