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

标签 python django postgresql

我有这个模型

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

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

有什么办法可以实现吗? 在 Django 或 PostgreSQL 中完成工作并不重要

感谢阅读。

最佳答案

如果可以将 folio 字段的类型更改为 CharField,则可以使用 uuid

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

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

关于python - 在 Django 或 PostgreSQL 中生成唯一的随机字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41726928/

相关文章:

python - 不可散列对象的无序集合?

django - 找不到 Eclipse pydev 设置模块

python - Django 中的单元测试。注入(inject)测试用例的静态变量

sql - where 子句中的非相关 exists(...) 查询是针对每一行执行还是仅执行一次?

sql - 根据列索引获取随机行

python - 如何让 `bin(30)` 返回 `00011110` 而不是 `0b11110` ?

python - lastrowid 在 python 3 的 sqlite3 中返回 None

版本检查中Python2版本设置为Python3

python - Django 通过属性与另一个 QuerySet 的交集计数对模型对象进行排序

java - 禁用 NamedParameterJdbcTemplate 缓存