Accès par son nom à la Valeur d'un champ d'une instance de model
---
Bonjour,
Soit les deux classes Pays et Region:
Existe-t-il un moyen d'accéder au champ region.pays.code en utilisant une syntaxe du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 class Pays(models.Model): nom = models.CharField() code = models.CharField() class Meta: db_table = 'pays' def __unicode__(self): # Python 3: def __str__(self): return self.nom class Region(models.Model): nom = models.CharField() code = models.CharField() pays = models.ForeignKey(Pays) class Meta: db_table = 'region' def __unicode__(self): # Python 3: def __str__(self): return self.nom
autrement dit sans nommer les propriétés pays et code ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 code = r.get('pays').get('code') ou code = r.get('pays.code')
Voici ce qu'on peut déjà faire mais ça ne suffit pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 p = Pays.objects.get(code='FR') p.nom => 'FRANCE' p.__dict__['nom'] => 'FRANCE' r = Region.objects.get(code='IDF') r.nom => 'ILE DE FRANCE' r.pays => <Pays: FRANCE> r.pays.code => 'FR' r.__dict__['nom'] => 'ILE DE FRANCE'
Merci
Partager