随机选项Django下拉表格

时间:2017-10-10 08:10:33

标签: python django forms models dropdown

我一直在挑选自己的大脑试图解决这个问题,所以现在我转向社区寻求帮助。

我正在使用模型在Django中创建一个表单,我想在一些下拉选项中添加一个Random选项。

以下是我正在使用的一般概念:

models.py

Character(models.Model):
    name = models.CharField(max_length=255,unique=True)
    age = models.PositiveIntegerField(default=0)
    gender = models.CharField(max_length=20,choices=creation_choices.GENDERS)
    race = models.CharField(max_length=500,choices=creation_choices.RACE)

creation_choices.py

GENDERS = (
    ('male',"Male"),
    ("female","Female"),
    ("unknown","Unknown"),
)
RACE = (
    ('human','Human'),
    ('elf','Elf'),
    ('dwarf','Dwarf'),
)

我要做的是为用户添加一种选择Random的方法,它会返回其他值之一。我尝试了很多不同的方法,但大多数都返回了错误。当我用random.choice()创建一个函数并通过它推送它似乎工作,但由于某种原因总是返回相同的值。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

(None,'Random')添加到选择集和有问题的模型字段中 default=select_random_genderdefault=select_random_race以及blank=False, null=False

声明这些功能:

def select_random_gender():
    selection = random.choice(GENDERS)[0]
    return selection if selection else select_random_gender()

def select_random_race():
    selection = random.choice(RACE)[0]
    return selection if selection else select_random_race()