Django 第十课 1.ORM模型

Posted nelsen-chen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 第十课 1.ORM模型相关的知识,希望对你有一定的参考价值。

ORM模型介绍

随着项目的越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了:

1:SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长。会出现很多相近的SQL语句

2:很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,这会很容易漏掉对某些SQL语句的修改

3:写SQL时容易忽略web安全问题,给未来造成隐患。如,SQL注入

 

ORM, 全称object relational Mapping ,中文叫做对象关系映射,通过ORM我们可以通过类的方式操作数据库,而不用再写原生的SQL语句。通过把表映射成类,把行作为实例,把字段作为属性,ORM在执行对象操作的时候最终还是会把对应的操作转换为数据库原生语句。使用ORM有许多优点:

1:易用性:使用ORM做数据库的开发可以有效的减少重复SQL语句的概率,写出的模型也更加直观,清晰。

2:性能损耗小:ORM转换成底层数据库操作指令确实会有一些开销。但是从实际的情况看,这种损耗很少(不足5%),只要不是对性能有严苛的要求,综合考虑开发效率,代码的阅读性,带来的好处要远远大于性能损耗,而且项目越大作用越明显。

3:设计灵活:可以轻松的写出复杂的查询

4:可移植性:Django封装了底层的数据实现,支持多个关系数据库引擎,包括流行的mysql,PostgreSQL和SQLite。可以非常轻松的切换数据库

技术分享图片

 

以上是关于Django 第十课 1.ORM模型的主要内容,如果未能解决你的问题,请参考以下文章

Django 第十课 4.ORM查询操作

Django 第十课 3.ORM表关系

Django框架-Django模型(models)系统

Django04-模型系统model

06模型基础

Django框架:设计模型