手撸ORM
ORM简介
ORM即Object Relational Mapping,全称对象关系映射。
当我们需要对数据库进行操作时,势必需要通过连接数据、调用sql语句、执行sql语句等操作,ORM将数据库中的表,字段,行与我们面向对象编程的类及其方法,属性等一一对应,即将该部分操作封装起来,程序猿不需懂得sql语句即可完成对数据库的操作。
Python中常用ORM框架
Django's ORM
优点:
-
易用,学习曲线短
-
和Django紧密集合,用Django时使用约定俗成的方法去操作数据库
缺点:
-
不好处理复杂的查询,强制开发者回到原生SQL
-
紧密和Django集成,使得在Django环境外很难使用
peewee
优点:
-
Django式的API,使其易用
-
轻量实现,很容易和任意web框架集成
缺点:
-
多对多查询写起来不直观
SQLAlchemy
优点:
-
企业级 API,使得代码有健壮性和适应性
-
灵活的设计,使得能轻松写复杂查询
缺点:
-
重量级 API,导致长学习曲线
其它:SQLObject 、Storm 、、、、
原生操作数据库模块 pymysql
ORM框架之SQLAlchemy
链接