Disons que j'ai une classe appelée fruits avec des classes d'enfants des différents types de fruits avec leurs propres attributs spécifiques, et je veux les rassembler dans un fruitbasket:classe django avec un tableau d'émission « parent » ForeignKeys
classe Fruit (models.Model):
Type = models.CharField (max_length = 120, par défaut = 'banane', choix = FRUIT_TYPES)
...
classe Banane (Fruit):
"" "banane (type de fruit)" ""
longueur = models.IntegerField (blanc = True, null = True) ...
classe orange (fruit):
"" "orange (type de fruit)" ""
diamètre = models.IntegerField (blanc = True, null = True) ...
classe fruitbasket (models.Model):
fruits = models.ManyToManyField (fruits) ...
le problème que je semblons avoir est lorsque je récupère et inspectez les fruits dans un fruitbasket, je récupérer uniquement les Frui t classe de base et ne peut pas accéder aux attributs de classe enfant Fruit.
Je pense que je comprends ce qui se passe - lorsque le tableau est extrait de la base de données, les seuls champs qui sont récupérés sont les champs de classe de base de Fruit. Mais existe-t-il un moyen d'obtenir les attributs de classe enfant sans plusieurs transactions de base de données coûteuses? (Par exemple, je pourrais obtenir le tableau, puis récupérer les classes enfants Fruit par l'identifiant de chaque élément du tableau).
merci à l'avance, Chuck
Merci! Une chose cependant - l'accès est via: mybasket.fruits.all() [0] .orange, je pense ... –
vous avez totalement raison. fixé. – teepark