python学习:几个常用的 orm 选择orator/sqlalchemy/peewee

对比一个 ORM,选择一个最适合的在项目中使用
更新于: 2022-06-14 01:06:52

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 的操作,有更新的发现,会继续更新。

参考