首页 > 代码库 > django源码解析之 BooleanField (三)
django源码解析之 BooleanField (三)
1 def __init__(self, *args, **kwargs):2 kwargs[‘blank‘] = True3 if ‘default‘ not in kwargs and not kwargs.get(‘null‘):4 kwargs[‘default‘] = False5 Field.__init__(self, *args, **kwargs)
在看完 BooleanField 的 to_python 之后,我们来看看 __init__
先看看我从github上copy的一段代码
login_required = models.BooleanField( _(‘login required‘), default=False, help_text=_(‘Only authenticated users can view the entry.‘))
这是一个非常常见的使用 BooleanField 示例。
我们继续看 __init__
首先,添加了 blank=True ,然后判断选项中是否设置了 default ,且未添加 null 属性
请看代码
>>> d = {}>>> d.get(‘null‘) == TrueFalse>>> d = {‘null‘:1234}>>> d.get(‘null‘) == TrueFalse>>>
至于添加null后会出现什么情况,回头试试就知道了。
django源码解析之 BooleanField (三)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。