(15)模型层-什么是ORM

ORM是什么

1、MVC或者MTV框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动

2、ORM是“对象-关系-映射”的简称

 

作用是什么:查询数据层次图解,如果操作mysql,ORM是在pymysq之上又进行了一层封装,就是将我们输入的orm对象方法转成mysql的语法去执行数据库,获得数据库的数据在中间的orm转换成对象,完成前后端的交互

PS:所有语言都有orm,不是python独有的

 

pyhon中主流的orm框架

Django's ORM 

优点:

  1. 易用,学习曲线短 

  2. 和Django紧密集合,用Django时使用约定俗成的方法去操作数据库 

缺点:

  1. 不好处理复杂的查询,强制开发者回到原生SQL 

  2. 紧密和Django集成,使得在Django环境外很难使用 

peewee 

优点:

  1. Django式的API,使其易用 

  2. 轻量实现,很容易和任意web框架集成 

缺点:

  1. 多对多查询写起来不直观 

SQLAlchemy 

优点:

  1. 企业级 API,使得代码有健壮性和适应性 

  2. 灵活的设计,使得能轻松写复杂查询 

缺点:

  1. 重量级 API,导致长学习曲线 

其它:SQLObject 、Storm 、、、、

 

posted @ 2019-03-12 10:50  clyde_S  阅读(932)  评论(0编辑  收藏  举报