null和Blank问题

null和Blank问题

老师,不是很理解blank=True和null=True的作用,一个默认为空对象,一个默认为空字符串吗?那为什么created_at那要设置null=True和blank=True一起设置,好像和只设置一个null=True是一样的效果。

http://img1.sycdn.imooc.com//climg/5fe163ef091cd0fc12620624.jpg

http://img1.sycdn.imooc.com//climg/5fe163f00996aa5a16221306.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好,

null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空,用NULL填充

blank 是针对表单的,如果 blank=True,表示你的表单填写该字段的时候可以不填,可以为空字符串

​日期类型(DateField、TimeField、DateTimeField)和数字类型(IntegerField、DecimalField、FloatField)不能接受空字符串,因此这两种类型类型的字段如果要设置为可空,则需要同时设置null=True,blank=True;

  • 慕仙9331815 提问者 #1

    老师,但是这里的created_at2(DateTimeField类型)只设置了null=True,在数据库里操作看上去也没什么问题,请问在什么情况下使用会体现出blank=True的作用呢?方便举个例子吗?



    2020-12-22 12:03:59
  • 时间, 回复 提问者 慕仙9331815 #2

    同学,你好,blank=True是在表单验证的时候体现的,如果想要在表单验证的时候允许为空的时候,应该设置blank为True,即表示该字段是选填项不是必填项。

    例:简单描述的blank为True,即可填可不填

    http://img1.sycdn.imooc.com//climg/5fe18a2409a7b2ee10520070.jpg

    http://img1.sycdn.imooc.com//climg/5fe18a0209ab52a604760103.jpg

    2020-12-22 13:55:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师