python - 如何将随机整数设置为 Django CharField 的默认值?

标签 python django django-models django-admin

我的 models.py 看起来像这样:

import random
random_string = str(random.randint(10000, 99999))

class Content(models.Model):
    ......
    unique_url = models.CharField(default = random_string)

当我在 admin 中添加内容时,会生成一个范围内的整数并将其作为默认值放入 charfield。从那里,我可以简单地向 charfield 添加更多单词。但是,我当前设置的问题是每次添加新文章时整数都保持不变。我想生成并插入随机整数,因为我正在使用 unique_url 字段基本上找到我的每个特定对象,并且我期望有很多内容,因此添加随机数通常会确保每个内容都有一个亲切的 unique_url。

因此,我正在寻找一个系统,每次使用管理面板添加新内容时都会生成一个随机整数,并将其作为一个字段的默认值。这样的事情在 Django 中甚至可能吗?

最佳答案

这样你就生成了一个随机数。您需要定义一个函数,例如:

def random_string():
    return str(random.randint(10000, 99999))

然后定义您已有的模型,不使用 () 以传递对函数本身的引用,而不是函数返回的值:

class Content(models.Model):
    ......
    unique_url = models.CharField(default = random_string)

关于python - 如何将随机整数设置为 Django CharField 的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33588668/

相关文章:

python - 使用 yum 安装 python-devel

django - 修复 Celery 问题 'can' t pickle <class 'module' > : attribute lookup module on builtins failed

django - 尾随斜杠 "/"未添加到根 url

python - 帮助构建一对多关系的 GQL 查询

mysql - id 主键是否必须在从检查数据库生成的 Django 模型中针对现有数据库显式定义?

python - socket.error[Errno 99] 无法分配请求的地址

python - 如何在 Python 中进行并行编程?

python - 像素点变换的性能

python - 在django中将注册表单填写到数据库后如何存储用户选择的单选按钮值?

django - 如何使用包含日期/日期时间字段进行查询