来自:https://docs.djangoproject.com/en/2.0/ref/models/fields/#django.db.models.Field.null
避免在基于字符串的字段(如CharField和)上使用null 文本域。如果基于字符串的字段具有null = True,则表示它具有 “无数据”的两个可能值:NULL和空字符串。多数情况 例如,“无数据”有两个可能的值是多余的 Django约定是使用空字符串,而不是NULL。
那么ForeignKey Field有什么好处? ForeignKey字段不是基于字符串的字段,不是吗?
我想知道what is convention for ForeignKey in django.
null = True更好还是空白= True更好?在表演,方便或任何事情上。
答案 0 :(得分:4)
这是不同的。见docs:
请注意,这与null不同。 null纯粹与数据库相关,而blank与验证相关。如果字段为空= True,则表单验证将允许输入空值。如果字段为空= False,则需要该字段。
因此,对于ForeignKey,您需要同时设置:null=True, blank=True
。
答案 1 :(得分:3)
这些用于不同目的: