Django----模型类与数据库的对应

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

程序 数据库
class类型 table表格
attribute属性 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,该字段中存储的值必须是唯一的

在大部分项目中,还会涉及到多表关联操作:

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

你可能感兴趣的:(Django----模型类与数据库的对应)