【问题标题】:get 8 digit random alphanumeric from uuid python and django [duplicate]从uuid python和django获取8位随机字母数字[重复]
【发布时间】:2016-12-25 03:58:32
【问题描述】:

在python中基本上有一些方法可以使用random模块来获取具有固定数字的随机数

但这里我使用 python 的 uuid 模块来生成如下所示的随机字符串

id = uuid.uuid4()
print id
UUID('decbb83f-9c35-4c37-a3d9-69e89bd8dd73')

但我只想要来自上述随机 UUID 对象的 8 位数字

我们可以做类似的事情

print str(id).split('-')[0] 

这里不是 UUID 对象而是字符串

我将在 django UUID 字段中使用这个 8 位随机 UUID(object) 编号,如下所示

uuid = models.UUIDField(unique=True, default=uuid.uuid4, editable=False)

那么如何只获取 8 位字母数字随机 UUID 对象?

【问题讨论】:

    标签: python django random uuid


    【解决方案1】:

    这是不可能的,因为 UUID 是 16 字节,但您可以生成一个唯一的 8 个字符的字符串。

    如果您查看 django 模型字段中的 UUIDField 类,最大长度设置为 32。您没有选项在 **kwargs 中指定 max_length

       def __init__(self, verbose_name=None, **kwargs):
            kwargs['max_length'] = 32
            super(UUIDField, self).__init__(verbose_name, **kwargs)
    

    【讨论】:

      猜你喜欢
      • 2021-06-24
      • 2014-01-10
      • 2013-09-11
      • 2015-07-29
      • 1970-01-01
      • 2011-01-29
      • 2013-04-12
      • 1970-01-01
      • 2011-10-07
      相关资源
      最近更新 更多