您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Django models.py中,default,null和blank之间有什么区别?

在Django models.py中,default,null和blank之间有什么区别?

直接来自Django模型字段参考

如果为True,则Django将NULL数据库中存储空值。认值为False

请注意,空字符串值将始终存储为空字符串,而不是NULL。仅null=True用于非字符串字段,例如整数,布尔值和日期。对于这两种类型的字段,blank=True如果您希望允许使用表单中的空值,则还需要进行设置,因为该null参数仅影响数据库的存储(请参阅参考资料blank)。

除非有充分的理由,否则请避免null在基于字符串的字段(例如CharField和)上使用TextField。如果基于字符串的字段具有null=True,则意味着它具有两个“无数据”的可能值:NULL和空字符串。在大多数情况下,为“无数据”使用两个可能的值是多余的;Django约定是使用空字符串,而不是NULL

如果为True,则该字段允许为空白。认值为False

请注意,这与有所不同nullnull数据库完全相关,而blank与验证相关。如果字段包含blank=True,则在Django管理网站上的验证将允许输入空值。如果字段包含blank=False,则将需要该字段。

字段的认值。这可以是值或可调用对象。如果可以调用,则每次创建新对象时都会调用它。

Go 2022/1/1 18:35:42 有337人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶