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

TIMEX:
  • null=True
  • blank=True
  • default = 0

有什么不同?您什么时候使用什么?

克里斯·摩根(Chris Morgan):

直接来自Django模型字段参考

Field.null

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

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

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

Field.blank

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

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

Field.default

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Django模型中的Null和Blank有什么区别

在Django中,null = True和blank = True有什么区别?

Django models.py错误

django 中的models.ForeignKey()

从Django Django的Models帖子中获取选项

Django models.py没有pk

null = True和on_delete = models.SET_NULL django之间的区别

Django:models.py中的def save()

Django models.py中的NameError

在Django Models.py中添加时间

laravel 5中的Models和Repository有什么区别?

Django - 我的 django models.py 文件之间的冲突

在Django中创建自定义用户模型时,从models.Model和AuthUser继承之间有何区别?

读取和写入存储在 Django Models.py 中的 PDF

在 django models.py 中使用 if else

django:LookupError:App'没有'models'模型

何时在Django的Views或Models中写出

django_models 中的外键

on_delete = models.PROTECT和on_delete = models.CASCADE对Django模型有什么作用?

Django模型manager.py和models.py

在一对多关联中,Model.new 和models.new 之间有什么区别?

Django rest-auth中的create和perform_create方法之间有什么区别

在Django ORM中,select_related和prefetch_related之间有什么区别?

在Django世界中,项目和应用之间有什么区别?

在Django世界中,项目和应用之间有什么区别?

如何从Django模板访问models.py中的常量?

Python,Django:在 models.py 中限制 IntegerField

从 Django 应用程序中删除“models.py”

在 ManytoManyField(Django Admin) models.py 中实现搜索字段