【发布时间】:2025-12-16 12:25:03
【问题描述】:
我想在我的 django 模型中使用 UUID 作为 PK 如下(数据库是 Postgresql):
class Post(models.Model):
pk = models.UUID(primary_key=True, unique=True, default=uuid.uuid4, editable=False)
...
每次uuid.uuid4 生成一个新的 UUID。
我的问题是:uuid.uuid4 是否有可能生成重复的 UUID?
如果可能的话,如果生成重复的 UUID,如何防止 IntegrityError?
【问题讨论】:
-
看看这篇文章:Are UUIDs really unique?,你真的不需要担心,发生这种情况的可能性真的很低。
-
@AbdulAzizBarkat 是的,我知道概率很低。但我想找到一种解决方案来防止这种非常低的概率。
标签: django postgresql django-models uuid database-integrity