在Django或PostgreSQL中生成唯一的随机字段

时间:2017-01-18 18:33:20

标签: python django postgresql

我有这个模型

class Inscription(models.Model):
    person = models.ForeignKey(Person)
    congress = models.ForeignKey(Congress)
    folio = models.IntegerField(max_length=4, editable=False)

我需要folio属性在同一个会议中是唯一的,但在表中是可重复的,但重要的是生成的随机数不会重复(而不是验证它是否已经存在,然后生成一个新的)。

有没有办法实现这个目标? 如果要在Django或PostgreSQL中完成工作并不重要

感谢您的阅读。

1 个答案:

答案 0 :(得分:2)

如果您可以将作品集字段的类型更改为CharField,则可以使用uuid

import uuid
x = str(uuid.uuid1())

x始终是唯一的,您永远不需要在模型中检查重复的值。 希望这会有所帮助。