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
