Django的ORM vs Flask的SQLAlchemy

2018-09-03  本文已影响0人  梦醒家先生

ORM的简介

  1. 对象:这部分代表使用框架的对象和编程语言。(例如Python)
  2. 关系:这部分使用的RADBMS关系型数据库,大多数关系型数据库之间的的共同点是它们的关系结构(表、列、键、约束等)。
  3. 映射:这部分表示对象和数据表之间的桥梁和链接

ORM是为了将编程语言与数据库之间相连,以便简化创建依赖与数据的应用程序过程

Django 和 SQLAlchemy 之间比较

一、 活动记录VS数据映射
二、使用复杂查询
三、主键自动生成
四、自动提交
五、性能

总结

  1. ORM是活动记录实现的,数据库中每一行都直接映射到代码中的对象,不需要为了在代码中使用属性而预先定义架构,也可以只保存记录数据库,因为它映射到表中的特定行。Django适用于所有的常规CURD操作。会自动生成主键,会自动提交等。Django Model更简洁一些。

    例如:对于类关联,Django只要声明外键,就会自动产生关联对象,而SQLAlchemy要定义外键、Relationship对象,如果有多个外键还要定义自己的Join规则

  2. SQLAlchemy是数据库映射实现,数据库结构和对象结构之间存在间隙,必须使用另外的持久层于数据库的交互(例如保存对象),不会捆绑并强迫严格遵循活动记录来考量。适用于复杂查询。

上一篇 下一篇

猜你喜欢

热点阅读