ORM模型类介绍,

 所有的软件开发过程中,都会涉及到对象和关系型数据库,在用户层面和业务逻辑层面,程序员编写代码都是面向对象的,当我们对象的信息发生变化的时候,都需要将对应的信息,传到关系型数据库中.而在此之前,需要我们编写对应的SQL语句来创建数据表,

 (例如: 创建一个auth_user表,需要定义好每一个字段,给字段设置好对应类型,属性 ,并且给数据表设置主键或唯一键.然后定义好表的存储引擎 ,字符编码)

 然后在业务逻辑中,会有很多SQL语句,对表进行增删改查操作

  然后在业务逻辑中,会有很多SQL语句,对表进行增删改查操作,

 举例子; 通过POST请求提交商品评论信息

  python的一大设计思想-_一切事务皆对象

 能不能将对数据库的操作,也通过面向对象的方式来实现呢???

   --因此就有了 ORM

 

 什么是ORM?

    将我们的对象,自动XX化到关系型数据库中,相当于充当业务逻辑层和数据库层的桥梁

 

 那么,在Django中,我们应该如何开发模型类呢?

 这就是 Models.py文件的作用!

 -Django中,每建一个应用的时候,都会在应用的文件夹下,

 自动生成一个 models.py文件,这里就是编写模型类的地方

 

 模型类的优势与劣势:

  优势--

  开发人员能够专注于业务逻辑的处理,提高开发效率,

  以后就不需要在业务逻辑代码中编写原生的SQL语句了,通过操作对象的方式,就能够操作数据库!

 劣势--

  一定程度上牺牲程序的执行效率,

  ORM写的久了,可能会忘了SQL语句

 

  项目中如何取舍? --

    复杂的SQL语句,或者数据库层面的功能--使用原生SQL更加方便

    提升开发效率 --使用ORM

  例如-

  在Flask中使用 Sqlalchemy 就像在Django中使用ORM一样方便,执行效率只比原生SQL慢了5%,相对于提升的开发效率,这点性能损耗是可以接受的!

  

 

posted @ 2019-07-21 15:11  goddog1024  阅读(1131)  评论(0编辑  收藏  举报