九Django之ORM

Posted skyflask

tags:

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

一、前言

用于实现面向对象编程语言里不同类型系统的数据之间的转换,换言之,就是用面向对象的方式去操作数据库的创建表以及增删改查等操作。

到目前为止,当我们的程序涉及到数据库相关操作时,一般操作流程如下:

  • 创建数据库,设计表结构和字段;
  • 使用 mysqldb 来连接数据库,并编写数据访问层代码,使用原生SQL语句进行访问数据;
  • 业务逻辑层去调用数据访问层执行数据库操作,获取结果;

 

ORM是什么?Object Relational Mapping(关系对象映射)

1、类名------>数据库中的表名

2、类属性--------->数据库的字段

3、类实例--------->数据库表里的一条记录

4、obj.id  obj.name------>获取类实例对象的属性

 

Django ORM的优势:

1、Django的orm操作本质是根据对接的数据库引擎,翻译成对应的sql语句, 避免新手写sql语句带来的性能问题,同时ORM使我们的通用数据库交互变得简单易行,而且完全不用考虑复杂的SQL语句。

2、所有使用Django开发的项目无需关心程序底层使用的是MySQL、Oracle、sqlite....等数据库,如果数据库需要迁移,只需要更换Django的数据库引擎即可;

二、ORM定义

1、梳理关系和建模

2、定义表和确定字段

3、setttings和同步数据库

 

三、ORM的关系

关系数据库的威力体现在表之间的相互关联。 Django 提供了三种最常见的数据库关系:多对一(many-to-one),多对多(many-to-many),一对一(one-to-one)。

1、多对一(many-to-one)

2、多对多(many-to-many)

3、一对一(one-to-one)

 

四、ORM的操作

1、增

2、删

3、改

4、查

 

以上是关于九Django之ORM的主要内容,如果未能解决你的问题,请参考以下文章

九Django之ORM

11.Django基础九之中间件

Django

Django

Django基础--3

ORM增删改查