我需要让我的Django应用程序允许我为某个模型字段设置默认值NULL。我已经看过null,空白和默认参数,但它不是很清楚我需要使用哪三种组合来获得所需的效果。我试过设置default=NULL
,但它抛出了一个错误。如果我指定blank=True, null=True
并且没有默认值,它是否会默认回到NULL来运行?Django模型字段默认为空
回答
尝试default=None
。 python中没有NULL
。
如果指定空=真型号场则该值将被存储为NULL在数据库中,如果用户没有提供一个值。
这在大多数情况下都不是这样,因为通常它会存储一个空字符串。 – hY8vVpf3tyR57Xib 2015-11-09 15:38:47
@AlfonsIngomar错误,从文档 - https://docs.djangoproject.com/en/1.8/ref/models/fields/#null “如果为True,Django将在数据库中将NULL值存储为NULL。默认为假。” – Kevin 2015-11-10 11:00:42
查看下一段落:避免在基于字符串的字段(如CharField和TextField **)上使用null,因为空字符串值将始终以空字符串存储,而不是NULL **。如果基于字符串的字段的值为空= True,则表示它有两个可能的值:“无数据”:NULL和空字符串。在大多数情况下,“无数据”有两个可能的值是多余的,Django约定是使用空字符串,而不是NULL。 – hY8vVpf3tyR57Xib 2015-11-10 16:08:38
- 1. django获取默认模型字段值
- 2. 从模型方法的Django模型字段默认
- 3. Django - 如何将模型字段重置为默认值?
- 4. 覆盖默认字段类型在Django
- 5. Django如何配置为不使默认字段不为空?
- 6. django模型默认值
- 7. Django AdminForm字段默认值
- 8. 默认模型字段Rails 3.1
- 9. 如何重写Django中的默认用户模型字段?
- 10. 设置在Django模型字段默认值更好的办法
- 11. 在django模型有一个默认的时间戳字段?
- 12. 如何获取Django模型中字段的默认值?
- 13. Django中间模型字段的m2m项目默认排序
- 14. Django - 从另一个模型字段获取默认值
- 15. 使用RadioSelect窗体的Python/Django BooleanField模型默认为空
- 16. django中的用户模型密码字段默认密码字段
- 17. 空整数字段在Django模型GraphQL
- 18. Django:如何使内联模型formset中的字段默认为不可编辑?
- 19. Django模型字段默认基于在同一模型中的另一个字段
- 20. 使用模型ID作为另一个字段的默认值
- 21. 如何为LinqToSQL模型的字段指定默认值?
- 22. Yii2:为模型的所有字段设置默认值
- 23. LLBLGen默认变量字段值读取不为空,但为空
- 24. 更改Django的默认模型设置
- 25. Django模型中的默认过滤器
- 26. django - 过滤模型默认表示
- 27. Django字段的默认值是什么?
- 28. 值的字段的默认Django管理
- 29. 自定义Django admin TabularInline默认字段
- 30. 在默认窗体中覆盖django模型默认值?
这样做的伎俩,谢谢。 :) – SPoage 2011-01-05 14:32:17
为了清楚起见,他所指的NULL是用于Django模型字段的。这允许/不允许将该值用于该值,该值在数据库中作为NULL存储,而不是在Python中存储。空白表示是否在forms/admin/etc中验证所需的值。 – Nexion 2016-04-20 17:52:15
@Nexion,'default = None'不允许或不允许使用None值。它只是告诉Django如果没有指定该字段的值应该是什么值。 null = True'允许在Python代码中使用None。它在数据库中被视为NULL。关于空白用于表单验证你是对的。 – Bobort 2017-09-13 14:19:29