当前位置: 首页 > 面试题库 >

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

羊舌承颜
2023-03-14
问题内容
  • null=True
  • blank=True
  • default = 0

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


问题答案:

直接来自Django模型字段参考:

Field.null

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

请注意,空字符串值将始终存储为空字符串,而不是NULL。仅null=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

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



 类似资料:
  • 问题内容: 在此示例中: 无法编译为: 而被编译器接受。 这个答案说明唯一的区别是,与不同,它允许您稍后引用类型,似乎并非如此。 是什么区别,并在这种情况下,为什么不第一编译? 问题答案: 通过使用以下签名定义方法: 并像这样调用它: 在jls§8.1.2中,我们发现(有趣的部分被我加粗了): 通用类声明定义了一组参数化类型(第4.5节), 每种可能通过类型arguments调用类型参数节的类型

  • 本文向大家介绍export和export default有什么区别?相关面试题,主要包含被问及export和export default有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 1.一个页面里面可以有多个export,但是只能有一个export default 2.import的时候, 使用export default导出的使用import XX from 'xxx'来导入 使用ex

  • 问题内容: 我是AngularJS的新手。谁能解释一下这些AngularJS运算符之间的区别:用适当的示例隔离范围时。 问题答案: 允许将在指令属性上定义的值传递到指令的隔离范围。该值可以是简单的字符串值(),也可以是带有嵌入式表达式()的AngularJS插值字符串。将其视为从父作用域到子指令的“单向”通信。 允许指令的隔离范围将值传递到父范围中,以便在属性中定义的表达式中进行求值。请注意,指令

  • 我看了Facebook的留档(React.Component),它提到了如何在客户端/服务器上调用,而仅在客户端上调用。对服务器做什么?

  • 我对Keras中的和感到困惑。他们之间有什么区别?我认为第一个是一个层,第二个是一个后端函数,但这意味着什么?在Conv2D中,我们发送过滤器的数量、过滤器的大小和跨步(但是在Conv2D中,我们使用内核是什么(64,3,3),我们把过滤器的数量和大小放在一起?我应该在哪里输入内核数?你能帮我解决这个问题吗?非常感谢。 pytorch中的代码 Keras中已更改的代码 但当我执行代码时,它会产生以

  • 在Eclipse中,modulepath和classpath之间有什么区别,我应该使用哪一个在lib文件夹中添加一个jar?为什么JRE系统库会出现在ModulePath中?