基本上在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对象?
答案 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)