Y at-il un widget dans Django 1.0.2 pour rendre un models.BooleanField
sous forme de deux boutons radio au lieu d’une case à cocher?
Réponses
Trop de publicités?
eternicode
Points
2892
Django 1.2 a ajouté l'option Meta "widgets" pour les modelforms:
Dans votre models.py, spécifiez les "choix" pour votre champ booléen:
BOOL_CHOICES = ((True, 'Yes'), (False, 'No'))
class MyModel(models.Model):
yes_or_no = models.BooleanField(choices=BOOL_CHOICES)
Ensuite, dans votre formulaire.py, spécifiez le widget RadioSelect pour ce champ:
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
widgets = {
'yes_or_no': forms.RadioSelect
}
J'ai testé cela avec une base de données SQLite, qui stocke également des booléens sous la forme de valeurs 1/0, et elle semble fonctionner correctement sans fonction de contrainte personnalisée.
Kevin White
Points
18
funksta
Points
90