django 数据模型中 null=True 和 blank=True 有什么区别

django 数据模型中 null=True 和 blank=True 有什么区别


桃花长相依
浏览 659回答 3
3回答

慕容森

null:If True, Django will store empty values as NULL in the database. Defaultis False.如果为True,空值将会被存储为NULL,默认为False。blank:If True, the field is allowed to be blank. Default is False.如果为True,字段允许为空,默认不允许。

慕标琳琳

引用sof上的一个回答。class Test(models.Model):charNull = models.CharField(max_length=10, null=True)charBlank = models.CharField(max_length=10, blank=True)charNullBlank = models.CharField(max_length=10, null=True, blank=True)intNull = models.IntegerField(null=True)intBlank = models.IntegerField(blank=True)intNullBlank = models.IntegerField(null=True, blank=True)dateNull = models.DateTimeField(null=True)dateBlank = models.DateTimeField(blank=True)dateNullBlank = models.DateTimeField(null=True, blank=True)The database fields created for MySQL 5.6.x are :CREATE TABLE test (id INT(11) NOT NULL AUTO_INCREMENT,`charNull` VARCHAR(10) NULL DEFAULT NULL,`charBlank` VARCHAR(10) NOT NULL,`charNullBlank` VARCHAR(10) NULL DEFAULT NULL,`intNull` INT(11) NULL DEFAULT NULL,`intBlank` INT(11) NOT NULL,`intNullBlank` INT(11) NULL DEFAULT NULL,`dateNull` DATETIME NULL DEFAULT NULL,`dateBlank` DATETIME NOT NULL,`dateNullBlank` DATETIME NULL DEFAULT NULL) 

慕姐4208626

你好,很高兴回答你的问题null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空。blank 是针对表单的,如果 blank=True,表示你的表单填写该字段的时候可以不填,比如 admin 界面下增加 model 一条记录的时候。直观的看到就是该字段不是粗体希望能帮到你
打开App,查看更多内容
随时随地看视频慕课网APP