python培训课程之Django框架的ORM简介及优缺点!
老男孩IT教育
常见问题
2022年1月5日 16:06
Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作。
Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作。
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语言构造字典的三种方法!
