首页 > 其他 > 详细

Django null=True和blank=True的区别

时间:2020-01-04 17:27:38      阅读:89      评论:0      收藏:0      [点我收藏+]

今天遇到一个问题:

在restframework框架中开发,数据库了创建了一个model的属性如下所示:

    remarks = models.CharField(verbose_name=u"描述", max_length=500, null=True)
remarks为非必传数据,所以在serializer中没有加验证,当时觉得没什么问题,但在提交数据时remarks为空字符串,报错为‘验证失败,remarks不能为空’。但当remarks不传值时则没有报错。
后来经过一番查找搜索,发现是没有加blank=True的原因。
最终经过修改:
    remarks = models.CharField(verbose_name=u"描述", max_length=500, null=True, blank = True)

再次提交,即使remark为空字符串,依然能提交成功。
总结如下:

1、serializer中没有加验证,所以remarks不传值时可以通过,切此时默认为null。这是null=True在起作用,null是和数据库相关的,当reamrks为空时,就会被存储为NULL。
2、blank = True是页面表单验证相关的,表示在页面当中对应的表单可以为空,可以不填任何内容。

Django null=True和blank=True的区别

原文:https://www.cnblogs.com/zmdComeOn/p/12149475.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!