Bonjour à tous,
Débutant sur Django, j'aimerais savoir quelles sont les options pour accéder aux champs d'une classe intermédiaire. Partons du code du tuto:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class Produit(models.Model): nom = models.CharField(max_length=30) def __unicode__(self): return self.nom class Vendeur(models.Model): nom = models.CharField(max_length=30) produits = models.ManyToManyField(Produit, through='Offre') def __unicode__(self): return self.nom class Offre(models.Model): prix = models.IntegerField() produit = models.ForeignKey(Produit) vendeur = models.ForeignKey(Vendeur) def __unicode__(self): return "{0} vendu par {1}".format(self.produit, self.vendeur) |
Dans le tuto, il est dit que l'accès aux valeurs de la classe intermédiare est disponible via :
1 | Offre.objects.get(vendeur=vendeur, produit=p1).prix |
La-dessus pas de problème. Dans ma situation, je veux afficher tous les produits d'un vendeur, et donc aussi les offres propres à son vendeur. Est-il possible d'accéder à l'ensemble des produits directement avec les offres associées ? Par exemple pouvoir faire produit.offre.prix ?
Merci pour votre aide, jespère avoir été clair sur mon problème
+0
-0