我需要一个模型,有一个随机的,人类大小的,唯一的关键领域。我们打算用它来让人脑将id与另一台计算机联网并调用数据
我所拥有的:
def make_code():
numbers = "".join(random.choice(string.digits) for x in range(4))
letters = "".join(random.choice(string.ascii_lowercase) for x in range(2))
return numbers + letters
class PinRecord(models.Model):
pin = models.CharField(max_length=16, primary_key=True)
data = models.TextField(blank=False, null=False)
created = models.DateTimeField(auto_now_add=True)
@classmethod
def create_uniq(cls, action, data):
created = False
while not created:
pin, created = cls.objects.get_or_create(pin=make_code(), defaults={'data':data})
return pin.pin
有没有更好的方法来创建uniq
现在,有一个小机会,它循环了很长一段时间,特别是如果PinRecords没有得到适当的清理或流量高于预期。另一个版本将尝试次数限制在有限的范围内,除了中指错误之外,我们没有任何东西可以提供给用户
对于这个随机的、唯一的关键问题,推荐的解决方案似乎是uuid,但用户会反对写下并重新键入uuid
目前没有回答
相关问题 更多 >
编程相关推荐