Acces par son nom à la Valeur d'un champ d'une instance de model
Accès par son nom à la Valeur d'un champ d'une instance de model
---
Bonjour,
Soit les deux classes Pays et Region:
Code:
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 |
Existe-t-il un moyen d'accéder au champ region.pays.code en utilisant une syntaxe du type :
Code:
1 2 3
| code = r.get('pays').get('code')
ou
code = r.get('pays.code') |
autrement dit sans nommer les propriétés pays et code ?
Voici ce qu'on peut déjà faire mais ça ne suffit pas:
Code:
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