django中blank和null的区别有哪些-创新互联
这期内容当中小编将会给大家带来有关django中blank和null的区别有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

一、null的使用
1、默认是False的,如果设置为True的时候,django将会映射到数据表指定是否为空
2、如果这个字段设置为False的时候,如果没给这个字段传递任何值的时候,django也会使用一个空字符串('')存储进去
3、如果这个字段设置为True的时候,django会产生两种空值的情形(null和空字符串)
4、如果想要在表单验证的时候允许这个字符串为空的时候,django建议使用blank=True
5、如果你的字段BooleanField的时候,可以为空的建议使用NullBooleanField
1、数据模型代码
class BookModel(models.Model):
"""
书籍的数据模型
"""
uuid = models.UUIDField(unique=True, default=uuid.uuid4, verbose_name='uuid')
name = models.CharField(max_length=100, default='', null=True, verbose_name='书籍名称')
# null默认是False,但是本案例中还是写上去,更好区分
author = models.CharField(max_length=100, default='', null=False, verbose_name='作者')
# blank=True仅仅是在表单校验的时候可以为空,别的时候没什么区别
price = models.FloatField(default=0, blank=True, verbose_name='价格')
create_time = models.DateTimeField(auto_now_add=True, verbose_name='创建时间')
update_time = models.DateTimeField(auto_now=True, verbose_name='修改时间')
def __str__(self):
return '({}, {}, {}, {}, {}, {})'.format(self.uuid, self.name, self.author, self.price,self.create_time, self.update_time)
class Meta(object):
db_table = 'book' 名称栏目:django中blank和null的区别有哪些-创新互联
链接分享:http://www.jxjierui.cn/article/ddoses.html


咨询
建站咨询
