数值型 | ||
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 | 自定义校验逻辑 |