一、ORM介绍
1.什么是ORM ? ORM 全拼Object-Relation Mapping.
中文意为 对象-关系映射.
在MVC/MVT设计模式中的Model模块中都包括ORM
2.ORM优势
(1)只需要面向对象编程, 不需要面向数据库编写代码.
对数据库的操作都转化成对类属性和方法的操作.
不用编写各种数据库的sql语句.
(2)实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异.
不在关注用的是mysql、oracle...等.
通过简单的配置就可以轻松更换数据库, 而不需要修改代码.
3.ORM劣势
相比较直接使用SQL语句操作数据库,有性能损失.
根据对象的操作转换成SQL语句,根据查询的结果转化成对象, 在映射过程中有性能损失.
4.ORM和数据库关系:
在Django中model是你数据的单一、明确的信息来源。它包含了你存储的数据的重要字段和行为。通常,一个模型(model)映射到一个数据库表.
基本情况:
每个模型都是一个Python类,它是django.db.models.Model的子类。
模型的每个属性都代表一个数据库字段。
综上所述,Django为您提供了一个自动生成的数据库访问API。
二、ORM用法
1.字段类型
属性名
- 不允许使用python的保留关键字
- 不允许使用mysql的保留关键字
- 不允许使用连续的下划线,因为Django的查询语法就是连续的下划线
字段类型 | 描述 | MySQL类型 |
AutoField | 自动增长的IntegerField, 不指定时Django会自动创建属性名为id的自动增长属性 | INT AUTO_INCREMENT |
BigAutoField | ||
Binary | 二进制 | |
BooleanField | 布尔字段,值为True或False | |
NullBooleanField | 支持Null、True、False三种值 |