(15)模型层-什么是ORM

吃可爱长大的小学妹 提交于 2020-02-28 03:44:15

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 、、、、

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!