Django 数据模型

Django中创建模型

在Django项目中定义模型数据,就是定义class类型,通过类型创建的对象来封装管理数据, 一定要在这里明确关联和对应关系

程序 数据库
class类型 table表格
attr属性 field字段
object对象 record记录

有了对应关系后, 我们要创建的模型对象的属性必须和数据库中的字段类型对应起来

对象中的属性类型定义 表中的字段类型
AutoField() auto_increment 自动增长
BooleanField() bool 布尔类型
NullBooleanField() bool or null 扩展布尔类型
CharField() varchar 字符串
TextField() text 长文本
IntegerField() int 整数
DecimalField() double 高精度浮点数
FloatField() float 单进度浮点数
DateField() date 日期
TimeField() time 时间
DateTimeField() datetime 日期时间
FileField() blob 二进制
ImageField() blob 二进制
选项 描述
null 如果为 True, 将 NULL 空值存储到数据库中,默认 False
blank 如果为 True,表示该字段允许存储空值,默认 False
db_column 字段名称,如果不指定,直接使用类型属性的名称作为字段名称
db_index 如果设置为 True,表示给当前字段添加索引支持
default 给字段设置默认值
primary_key 是否设置当前字段为主键
unique 如果为 True,该字段中存储的值必须是唯一的

每个字段定义时, 都会有自己的一些特殊的选项指定和数据库中的约束条件相近

选项 描述
null 如果为 True, 将 NULL 空值存储到数据库中,默认 False
blank 如果为 True,表示该字段允许存储空值,默认 False
db_column 字段名称,如果不指定,直接使用类型属性的名称作为字段名称
db_index 如果设置为 True,表示给当前字段添加索引支持
default 给字段设置默认值
primary_key 是否设置当前字段为主键
unique 如果为 True,该字段中存储的值必须是唯一的
选项 描述
ForeignKey 一对多关联关系,该字段定义在多的一方
ManyToManyField 多对多关联关系,该字段两方都需要定义
OneToOneField 一对一关联关系,该字段可以定义在任意一方

项目中会遇到多表关联

选项 描述
ForeignKey 一对多关联关系,该字段定义在多的一方
ManyToManyField 多对多关联关系,该字段两方都需要定义
OneToOneField 一对一关联关系,该字段可以定义在任意一方

你可能感兴趣的:(Django 数据模型)