Téléchargement
illégal
Posez votre question Signaler

Django: champ exclusif

makayabou 13Messages postés 29 juin 2009Date d'inscription 16 juin 2011Dernière intervention - Dernière réponse le 14 sept. 2011 à 11:32
Bonjour,
Pour une petite application de gestion d'un stock de pièces de vélo,
j'ai crée un formulaire de saisie.
La classe est définie comme suit:
class Pieces(models.Model): 
 TYPE_ROUES_CHOICES =  ( 
       ('roue_ar_24', 'roue arrière de 24 pouces'), 
       ('roue_av_24', 'roue avant de 24 pouces'), 
       ('roue_ar_26', 'roue arrière de 26 pouces'), 
       ('roue_av_26', 'roue avant de 26 pouces'), 
       ('roue_ar_20', 'roue arrière de 20 pouces'), 
       ('roue_av_20', 'roue avant de 20 pouces'), 
       ('pneu_vtt_20', 'pneu pour VTT de 20 pouces'), 
       ('pneu_vtt_24', 'pneu pour VTT de 24 pouces'), 
       ('pneu_vtt_26', 'pneu pour VTT de 26 pouces'), 
       ('pneu_ville_20', 'pneu pour vélo de ville de 20 pouces'), 
       ('pneu_ville_24', 'pneu pour vélo de ville de 24 pouces'), 
       ('pneu_ville_26', 'pneu pour vélo de ville de 26 pouces'), 
       ('pneu_course_20', 'pneu pour vélo de course de 20 pouces'), 
       ('pneu_course_24', 'pneu pour vélo de course de 24 pouces'), 
       ('pneu_course_26', 'pneu pour vélo de course de 26 pouces'), 
       ('jante_vtt_20', 'jante pour VTT de 20 pouces'), 
       ('jante_vtt_24', 'jante pour VTT de 24 pouces'), 
       ('jante_vtt_26', 'jante pour VTT de 26 pouces'), 
       ('jante_ville_20', 'jante pour vélo de ville de 20 pouces'), 
       ('jante_ville_24', 'jante pour vélo de ville de 24 pouces'), 
       ('jante_ville_26', 'jante pour vélo de ville de 26 pouces'), 
       ('jante_course_20', 'jante pour vélo de course de 20 pouces'), 
       ('jante_course_24', 'jante pour vélo de course de 24 pouces'), 
       ('jante_course_26', 'jante pour vélo de course de 26 pouces'), 
       ) 
 type_roues = models.CharField(max_length=15, choices=TYPE_ROUES_CHOICES, blank=True) 
 TYPE_ECLAIRAGE_CHOICES =( 
       ('ecalairage_av', 'éclairage avant'), 
       ('reflecteur_ar', 'réflecteur arrière'), 
       ('reflecteur_lateral_pedale', 'réflecteur latéral pour les pédales'), 
       ('reflecteur_lateral_roues', 'réflecteur latéral pour les roues'), 
       ('dynamo', 'dynamo'), 
       ) 
 type_eclairage = models.CharField(max_length=25, choices=TYPE_ECLAIRAGE_CHOICES, blank=True) 
 TYPE_FREINAGE_CHOICES = ( 
       ('Cable_frein_av', 'câble de frein avant'), 
       ('Cable_frein_ar', 'câble de frein arrière'), 
       ('Tampon_frein', 'tampon de frein'), 
       ('frein_av', 'sabot de frein avant'), 
       ('frein_ar', 'sabot de frein arrière'), 
       ('frein_av_complet', 'frein avant complet cad sabot+tampon'), 
       ('frein_ar_complet', 'frein arrière complet cad sabot+tampon'), 
       ('manette_frein', 'manette de frein'), 
       ) 
 type_freinage = models.CharField(max_length=16, choices=TYPE_FREINAGE_CHOICES, blank=True) 
 TYPE_VITESSES_CHOICES = ( 
       ('Derailleur_pignons', 'dérailleur de pignons'), 
       ('Derailleur_plateaux', 'dérailleur de plateaux'), 
       ('Cable_vitesse_pignons', 'câble de vitesse pour pignons'), 
       ('Cable_vitesse_plateaux', 'câble de vitesse pour plateaux'), 
       ('poignee_tourn_6_pignons', 'poignée tournante pour 6 pignons'), 
       ('poignee_tourn_7_pignons', 'poignée tournante pour 7 pignons'), 
       ('poignee_tourn_2_plateaux', 'poignée tournante pour 2 plateaux'), 
       ('poignee_tourn_3_plateaux', 'poignée tournante pour 3 plateaux'), 
       ('manettes_6_pignons', 'manettes pour 6 pignons'), 
       ('manettes_7_pignons', 'manettes pour 7 pignons'), 
       ('manettes_2_plateaux', 'manettes pour 2 plateaux'), 
       ('manettes_3_plateaux', 'manettes pour 3 plateaux'), 
       ) 
 type_vitesses = models.CharField(max_length=24, choices=TYPE_VITESSES_CHOICES, blank=True) 
 TYPE_PEDALIER_CHOICES =  ( 
        ('Manivelle', 'manivelle de pédale'), 
        ('Pedale', 'Pédale'), 
        ('pedalier_complet', 'Pédalier complet'), 
        ) 
 type_pedalier = models.CharField(max_length=16, choices=TYPE_PEDALIER_CHOICES, blank=True) 
 TYPE_AUTRES_CHOICES =  ( 
       ('selle','selle'), 
       ('poignee','poignée'), 
       ) 
 type_autres = models.CharField(max_length=7, choices=TYPE_AUTRES_CHOICES, blank=True) 

Ainsi, je voudrais, que si on choisit une valeur dans le champ type_pedalier, les autres champs (type_roue, type_vitesse...) ne puissent pas être remplis. Il faudra pour cela ajouter un nouvel enregistrement.
Comment m'y prendre?
Merci
Lire la suite 

Django: champ exclusif »

1 réponses
Réponse
+0
moins plus
Bonjour,

Pour ce cas on doit faire du java script pour Django ca sera bien d'utiliser dajaxice.
je tombe dans ton même cas je trouve du mal à le faire.
Je ne sais pas si tu as trouvé la solution??
si oui merci de poster des nouvelles.

Merci
Ajouter un commentaire
Ce document intitulé « django: champ exclusif » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?