9 Django 字段类型
字段类型:
| 类型 | 描述 |
| AutoField | ID字段使用这类型,自动增长 |
| BooleanField | True or False |
| NullBooleanField | Null True False,比布尔多了一个空(Null),一般不用 |
| CharField(max_length=最大长度) | max_length参数必须指定,否则会报错 |
| ForeignKey('BookInfo',on_delete=models.CASCADE) | 外键 |
| TextField | 大文本类型,超过四千字 |
| IntegerField | 整数 |
| DecimaField(max_digits=None,decimal_places=None) | 十进制浮点数。参数max_digits表示总位数。decimal_places表示小数位数 |
| FloatField | 浮点数。参数同上。 上面的更精确,如果表示金钱等需要较为精确的值时,用上面的。 |
| DateField:([auto_now=False,auto_now_add=False]) | 日期,表示:年、月、日。两个参数默认值都是False,只能同时一个为true。auto_now_add=true,是取对象创建时的时间,作为时间戳。auto_now将会更新时间为对象最后一次被修改的时间 |
| TimeField | 时间,表示:时、分、秒。参数同DateField, |
| DateTimeField | 日期,表示:年、月、日、时、分、秒。参数同DateField |
| FileField | 上传文件字段 |
| ImageField | 继承与FildField,对上传的内容进行校验,确保是有效的图片 |
选项:
通过选项对字段的约束,选项如下:
| 选项名 | 描述 |
| default | 设置默认值 |
| primary key | 若为True,该字段会成为模型的主键字段,默认值是False,一般作为AutoField的选项使用 |
| unique | 若为True,这个字段在表中必须有唯一值,默认值是false |
| db_index | 若为True,则在表中会为此字段创建索引,默认是False |
| db_column | 字段的名称,若未指定,则使用属性的名称 |
| null | 若为True,表示允许字段为空,默认值是False |
| blank | 若为True,则该字段允许为空白,默认值是false |
| 对比:null是数据库范畴的概念,blank是后台管理页面表单验证范畴的 | |
经验:当修改模型类后,,如果添加的选项不影响表的结构,则不需要重新做迁移,选项中的default和blank不影响表结构。其它的改变后要做迁移。

浙公网安备 33010602011771号