gpt4 book ai didi

python - UUIDField 的 'default' 属性是否处理唯一性?

转载 作者:行者123 更新时间:2023-11-28 20:05:20 29 4
gpt4 key购买 nike

我刚刚进入 Django 进行一个快速项目,我发现有一个 UUIDField在模型中。

我将其用于每个模型都必须公开对象的外部 ID 字段。 default 参数会处理唯一性还是我必须在保存中写入它?我的意思是我知道值(value)观几乎没有冲突的机会,但只是想知道它是如何在内部完成的

最佳答案

UUID模块如何保证每次取值唯一?

RFC 4122 (UUID模块规范)规定了三种生成UUID的算法:

  1. 使用 IEEE 802 MAC 地址作为唯一性来源
  2. 使用伪随机数
  3. 结合使用知名字符串和加密散列

在所有情况下,种子值都与系统时钟时钟序列值 组合(以在时钟向后设置的情况下保持唯一性)。因此,根据上述机制生成的 UUID 将不同于所有其他已经分配或将分配的 UUID。

摘自 RFC 4122 Abstract :

A UUID is 128 bits long, and can guarantee uniqueness across space andtime.

注意:由于 UUIDS 的这个唯一性属性,Django 内部没有检查(如@FlipperPA 所述)来检查是否已经存在另一个具有相同 uuid 的对象

关于python - UUIDField 的 'default' 属性是否处理唯一性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31499836/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com