- null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空。Default is
False
. - blank 是针对表单的,如果 blank=True,表示你的表单填写该字段的时候可以不填,Default is
False
. - help_text:这个选项用于在表单中显示字段的提示信息。例如在管理后台的编辑页面,对应在字段输入框的下方会显示该选项设定的值。由于表单通常提供给非技术人员,完善的提示信息将更加方便校验和录入字段数据,所以,对字段添加解释信息是很有必要的
- verbose_name:这个选项用于给字段设置可读性更高的名称,通常也是用在表单的展示上。如果没有设置这个字段,Django将会直接展示字段名,且首字母大写。如果字段中存在下画线,Django会将它转换为空格。这个选项要与help_text区分开来,verbose_name可以认为是字段的别名,而help_text可以认为是对字段的描述。
Field.
choices
FRESHMAN = 'FR', _('Freshman')
FRESHMAN 是枚举变量的KEY,可以通过 .name 来访问
FR 表示数据库里存储的内容 ,可以通过 .value 来访问
Freshman 用了给用户展示的,可以通过 .label 来访问
from django.utils.translation import gettext_lazy as _class Student(models.Model):class YearInSchool(models.TextChoices):FRESHMAN = 'FR', _('Freshman')SOPHOMORE = 'SO', _('Sophomore')JUNIOR = 'JR', _('Junior')SENIOR = 'SR', _('Senior')GRADUATE = 'GR', _('Graduate')year_in_school = models.CharField(max_length=2,choices=YearInSchool.choices,default=YearInSchool.FRESHMAN,)def is_upperclass(self):return self.year_in_school in {self.YearInSchool.JUNIOR,self.YearInSchool.SENIOR,}
参考
Model field reference | Django documentation | Django
Django 中 null 和 blank 的区别_猫鱼薄荷_她的博客-CSDN博客_django null
Django之模型---ORM简介 - 潇洒浮生 - 博客园