【发布时间】:2020-05-29 19:42:34
【问题描述】:
我正在向数据库中添加一个字段:
identifier = models.UUIDField(unique=True, null=True, blank=True)
但我很好奇当有人在管理员中保存一个没有值的实例时,这是否会表现得像一个 CharField 或一个数字字段。它会尝试将值保存为空字符串"",还是会很聪明并将其保存为null?我正在为数据库使用 Postgres。我见过其他answers for CharField,但没有任何与 UUIDField 相关的内容。
我的最终目标是拥有一个保证唯一的字段,并且默认为null。写成这样更合适吗:
identifier = models.UUIDField(unique=True, null=True, default=None) 或者如果没有提供值,管理表单验证会抱怨吗?
【问题讨论】:
-
你为什么要做
null=True? -
为什么允许null?因为这是一个现有的数据库,并且该字段的值将随着时间的推移而填充。几乎所有的实例都不会有这个字段的值。
标签: django django-models