Vous n'êtes pas identifié(e).
Bonjour,
J'ai ce code :
dans form.py :
class IRMImageInfoForm(ModelForm):
class Meta:
model = IRMImageInfo
exclude = ('irm')
class IRMImageInfoForm(ModelForm):
class Meta:
model = IRMImageInfo
exclude = ('irm')
J'ai aussi ce code dans models.py :
class IRMImageInfo(models.Model):
"""
IRM related infos. Mainly location.
"""
irm= models.ForeignKey(IRM)
# Characteristics of the tumor
MULTIPLICITY_CHOICES = ( ('Unique','Unique'),
('Multiple','Multiple'), )
multiplicity = models.CharField('Multiplicity', max_length=8,
choices=MULTIPLICITY_CHOICES,
blank=True)
Ce code représente une liste déroulante avec deux valeurs.
Question 1:
Est-ce qu'un bout de code dans le code ci-dessus nous montre que c'est
une liste déroulante ?
Question 2 :
Comment pourrais-je facilement remplacer la liste déroulante par deux
boutons radios ?
Je vous remercie d'avance pour votre aide.
Hors ligne
Salut,
> Est-ce qu'un bout de code dans le code ci-dessus nous montre que c'est
> une liste déroulante ?
Dans les modèles il n'y a pas de principe de liste de séléction à proprement
parler, par contre l'argument "choices" remplit démontre bien un champ à
remplir selon une liste de choix (à ne pas confondre avec un <select/> en
HTML).
> Comment pourrais-je facilement remplacer la liste déroulante par deux
> boutons radios ?
Par défaut le widget utilisé pour un champ avec une liste de choix est
toujours une liste de séléction (<select/>), si tu veux utiliser autre chose
il suffit de lui spécifier un autre widget qui implémente l'utilisation du
choices, tel que RadioSelect pour ce que tu veux :
http://docs.djangoproject.com/en/1.2/ref/forms/widgets/#django.forms.RadioSelect
ll y'a plusieurs manière de changer le widget d'un champs, la plus simple dans
ton cas étant celle ci:
http://docs.djangoproject.com/en/1.2/topics/forms/modelforms/#overriding-the-
default-field-types-or-widgets
Hors ligne