所以我一直在尝试在django模型中生成10位数的唯一随机数,而不把它作为主键。我的模型是
Class Transaction(models.Model):
Referrence_Number = models.Charfield(max_lenght = 10, blank=True, editable=False, unique=True)
我知道Django内部有一个特殊的特性,可以生成随机字符串,这是我在阅读文档后了解到的。在
^{pr2}$但我的问题是如何将get_random_string函数合并到我的transaction_number实例中的django事务模型中。事实上,我对django还是个新手,我无法理解。在
我通常使用uuid,创建object时,uuid字符串会设置为字段
也许您可以重写模型上的save()方法。像这样:
您可以将属性的默认值设置为生成您想要的
Referrence_Number
的函数。只是不要在创建记录时设置Referrence_Number
例如,模型属性如下所示:
在你的
^{pr2}$utils.py
文件中,你会有如下内容:虽然您可以简单地在
default
参数中抛出randint
函数,但您应该将其抽象出来,以便执行额外的操作,如验证是否存在具有相同id的记录等相关问题 更多 >
编程相关推荐