老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

python培训课程之Django框架的ORM简介及优缺点!

老男孩IT教育

常见问题

2022年1月5日 16:06

Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作。

  Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作。

python培训

  O是object,也就类对象的意思。

  R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思。

  M是mapping,是映射的意思。

  映射:

  类:sql语句table表

  类成员变量:table表中的字段、类型和约束

  类对象:sql表的表记录

  ORM的优点

  ①数据模型类都在一个地方定义,更容易更新和维护,也利于重用代码。

  ②ORM 有现成的工具,很多功能都可以自动完成,比如数据消除、预处理、事务等等。

  ③它迫使你使用 MVC 架构,ORM 就是天然的 Model,最终使代码更清晰。

  ④基于 ORM 的业务代码比较简单,代码量少,语义性好,容易理解。

  ⑤新手对于复杂业务容易写出性能不佳的 SQL,有了ORM不必编写复杂的SQL语句, 只需要通过操作模型对象即可同步修改数据表中的数据。

  ⑥开发中应用ORM将来如果要切换数据库.只需要切换ORM底层对接数据库的驱动【修改配置文件的连接地址即可】。

  ORM的缺点

  ①ORM库不是轻量级工具,需要花很多精力学习和设置,甚至不同的框架,会存在不同操作的ORM。

  ②对于复杂的业务查询,ORM表达起来比原生的SQL要更加困难和复杂。

  ③ORM操作数据库的性能要比使用原生的SQL差。

  ④ORM抽象掉了数据库层,开发者无法了解底层的数据库操作,也无法定制一些特殊的 SQL(自己使用pymysql另外操作即可,用了ORM并不表示当前项目不能使用别的数据库操作工具了)。

  我们可以通过以下步骤来使用django的数据库操作:

  1. 配置数据库连接信息。

  2. 在models.py中定义模型类。

  3. 生成数据库迁移文件并执行迁文件[注意:数据迁移是一个独立的功能,这个功能在其他web框架未必和ORM一块的]。

  4. 通过模型类对象提供的方法或属性完成数据表的增删改查操作。

  老男孩教育是Python培训领域的专家,2012年就开展了Python培训,是行业内较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,让学员轻松拿下高薪职位!

  推荐阅读:

  【Python学习教程】Python语言构造字典的三种方法!

  Python语言中函数参数都有哪些类型?老男孩Python线下面授班

  Python有哪些函数?Python专业培训|高级Python培训

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。