我正在使用 Django 字段,就像这样:
import uuid
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
一个典型的id看起来是这样的:
6abbde08-99b1-42c7-8bd2-3ec92a4b67b9
有没有可能将id缩短,变成类似99b1这样的形式?
我正在使用 Django 字段,就像这样:
import uuid
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
6abbde08-99b1-42c7-8bd2-3ec92a4b67b9
有没有可能将id缩短,变成类似99b1这样的形式?
UUID字段的作用在于生成的uuid几乎不可能发生碰撞。你无法将99b1
存储在UUID
字段中,因为它不是UUID。
你可以使用最大长度为4的CharField
作为主键,但这意味着你需要负责生成主键,并确保它们不会发生碰撞。
UUIDField
字段的长度并不是一个好主意。UUIDField
的整个意义在于生成独特的通用标识符,这种标识符不可能生成另一个与现有标识符相同值的UUID
。ids
,这肯定不是您想要的。UUIDField
,您无需担心生成相同的ids
。
UUID的值为128位长,“可以保证在空间和时间上的唯一性”。