从uuid python和django获得8位随机字母数字

时间:2016-08-18 09:24:02

标签: python django random uuid

基本上在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(对象)编号,如下所示

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

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

1 个答案:

答案 0 :(得分:0)

由于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)