J'ai choisi mon cerveau en essayant de comprendre cela et maintenant je me tourne vers la communauté pour obtenir de l'aide. J'utilise des modèles pour créer un formulaire dans Django et je veux ajouter une option aléatoire à quelques-uns des choix déroulants.Option aléatoire dans Django Drop Down Form
Voici une idée générale de ce que je travaille avec:
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'),
)
Ce que je suis en train de faire est d'ajouter une façon pour les utilisateurs de sélectionner aléatoire et il renvoie l'une des autres valeurs. J'ai essayé beaucoup de méthodes différentes mais la plupart ont renvoyé une erreur. Lorsque j'ai créé une fonction avec random.choice() et poussé à travers cela semblait fonctionner, mais pour une raison quelconque toujours retourné la même valeur.
Toute aide serait grandement appréciée!
Vous devriez essayer l'argument 'choices' au FormField au lieu du ModelField, il est plus polyvalent et accepte un appelable pour générer les choix dynamiquement. –
@KlausD. est correct. Ajoutez une option "random" aux choix du champ de formulaire correspondant, et traitez cette option supplémentaire dans la méthode 'clean_fieldname' du formulaire. – schwobaseggl