Django-fr

Forum

#1 04-01-2012 13:27:48

sesame
Membre
Inscription : 22-03-2011
Messages : 263

listes

bonjour

j'ai deja posé ce probleme mais n'ai reussi a trouver la solution

j'ai a ce jour le model suivant :


PHYSICS_CHOICES = (
    ('Mecanique', (
            ('durete Vickers__', 'durete Vickers__'),
            ('striction', 'striction'),
            ('module elasticite', 'module elasticite'),
            ('module de cisaillement', 'module de cisaillement'),
            ('limite elasticite 0.2%', 'limite elasticite 0.2%'),
            ('coefficient de poisson', 'coefficient de poisson'),
            ('allongement a la rupture', 'allongement a la rupture'),
            ('contrainte maximalee', 'contrainte maximale'),
        )
    ),
    ('Physique', (
            ('masse volumique', 'masse volumique'),
            ('parametre de maille', 'parametre de maille'),
            ('systeme cubique', 'systeme cubique'),
        )


class Property(models.Model):
    name = models.CharField(_('name'), max_length=50)            # mecanique, thermique...
    description = models.TextField(_('description'), blank=True)
   
    def __unicode__(self):
        return self.name

class UniteProperty3(models.Model):
    name = models.ForeignKey(Material, verbose_name=_('name'))
    nature_unit = models.ForeignKey(Property, verbose_name=_('nature_unit'))                     
    val_champ = models.CharField(_('val_champ'), max_length=150, choices = PHYSICS_CHOICES) 

    def __unicode__(self):
        return '%s'  % (self.name)

dans Property sont enregistrees les differentes proprietes mecanique, physique,......

actuellement,  dans l'interface d'administration, la liste deroulante  val_champ contient toutes les proprietes de PHYSICS_CHOICES

y a t' il moyen pour que dans l'interface d'administration, la liste deroulante  val_champ ne contienne que les proprietes liées a la categorie

par exemple si la liste deroulante nature_unit est sur mecanique alors la liste droulante ne contiendrait que:

('durete Vickers__', 'durete Vickers__'),
            ('striction', 'striction'),
            ('module elasticite', 'module elasticite'),
            ('module de cisaillement', 'module de cisaillement'),
            ('limite elasticite 0.2%', 'limite elasticite 0.2%'),
            ('coefficient de poisson', 'coefficient de poisson'),
            ('allongement a la rupture', 'allongement a la rupture'),
            ('contrainte maximale', 'contrainte maximale'),

si nature_unit est sur physique alors la liste deroulante ne contiendrait que :

('masse volumique', 'masse volumique'),
            ('parametre de maille', 'parametre de maille'),
            ('systeme cubique', 'systeme cubique'),

la solution devrait se situer au niveau du modele puisque l'interface d'administration est liée au modele ?

Hors ligne

#2 04-01-2012 13:45:21

Vincent
Membre
Inscription : 08-08-2011
Messages : 20

Re : listes

Bonjour

La solution serait plus au niveau du formulaire utilisé par l'admin.

Mais de toute façons vu que ça reste un formulaire la solution que je vois dans l'immédiat serait de faire du Javascript/AJAX pour que quand l'utilisateur indique une autre valeur la liste du champ soit mise à jour.

Hors ligne

#3 04-01-2012 14:00:15

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : listes

j'ai commencé a me mettre au javascript mais pour jquery et ajax j'ai du mal...

si je pouvais avoir la solution..

Hors ligne

Pied de page des forums