| 数值型 | ||
| AutoField | int(11) | 自动增长主键,没有指定时由django自动创建primary_key=True(是否作为主键) |
| BooleanField | tinyint(1) | 布尔类型 |
| DecimalField | decimal | 定点型数据,max_digits=8(最大长度,整数加小数)decimal_places=2(精度,小数点后) |
| IntegerField | int(11) | 整型 |
| PositiveIntegerField | int(11) | 正整数 |
| SmallIntegerField | smallint | 小整数 |
| 字符型 | ||
| CharField | varchar | 字符型 |
| URLField | varchar | 继承自字符型,实现对url的特殊处理 |
| UUIDField | char(32) | 存放固定长度的id |
| EmailField | varchar | 继承自字符型,实现对Email的特殊处理 |
| FileField | varchar | 继承自字符型,实现对file的特殊处理 |
| TextField | longtext | 文本类型,存放大量数据 |
| ImageField | varchar | 继承自字符型,实现对image的特殊处理 |
| 日期类型 | ||
| dateField | data | 日期类型 |
| DateTimeField | datatime | 日期时间类型 |
| TimeField | time | 时间类型 |
| 关系类型 | on_delete参数表示在主表数据删除时执行的操作 CASCADE 级联,主删->从删 PROTECT 保护,主删->从拦 SET_NULL 主删->从变空 SET_DEFAULT 主删->从变默认值 SET() 自定义方法 | |
| ForeignKey | 作为一对多的外键使用 | |
| OneToOneField | 作为一对一的外键使用(一对多的情况下限制了外键唯一) | |
| ManyToManyField | 作为多对多的外键使用,会创建中间表 |
| null | true,false | 数据库层面是否可以为空 |
| blank | true,false | 业务层面是否可以为空 |
| choices | ((数据,注释),(数据,注释),) | 在admin界面可以看到选项 |
| db_column | 这个参数可以指定Model中的某个字段对应数据库中的哪个字段 | |
| db_index | 索引配置对于业务上需要进行作为查询条件的字段,应该配置此项 | |
| default | 默认值 | |
| editable | true,false | 是否可编辑 |
| error_messages | {‘’:‘’} | 字段校验失败的提示 |
| help_text | 提示语句 | |
| primary_key | true,false | 设置主键 |
| unique | true,false | 唯一键 |
| unique_for_date | true,false | 一天只能出现一次 |
| unique_for_month | 一月只能出现一次 | |
| unique_for_year | 一年只能出现一次 | |
| verbose_name | 别名 | |
| validators | 自定义校验逻辑 |










