【发布时间】:2018-01-25 08:29:34
【问题描述】:
我尝试使用从 uuid4 生成的标识符创建模型。但是我想要的不是常规的 uuid,而是我想要的标识符具有十六进制 uuid 格式(不带“-”)。这是我尝试过的:
class Model(models.Model):
identifier = models.CharField(max_length=32, primary_key=True, default=uuid.uuid4().hex, editable=False)
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
def __str__(self):
return self.identifier
class Meta:
abstract = True
不是每次实例化继承的类时都返回唯一的 id,而是因为uuid4()而返回相同的 id。我试图将默认值从uuid.uuid4().hex 更改为uuid.uuid4.hex,但似乎hex 不能直接从uuid4 调用。那么有什么可能的方法可以从十六进制格式的 uuid 为我的标识符生成默认值?
【问题讨论】: