1 pièce(s) jointe(s)
ManyToManyField -> Création d'une table intermédiaire
Bonsoir, j'ai du mal à comprendre quel est le contenu de la table de jointure intermédiaire que crée Django lorsqu'on utilise ManyToManyField.
D'après ce que j'ai compris, cette table enregistrera des clés étrangères.
Voici le contenu de mon fichier .\crepes_bretonnes\blog\models.py :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| class Produit(models.Model):
nom = models.CharField(max_length=30)
def __str__(self):
return self.nom
class Vendeur(models.Model):
nom = models.CharField(max_length=30)
produits = models.ManyToManyField(Produit, through='Offre',
related_name='+')
produits_sans_prix = models.ManyToManyField(Produit, related_name="vendeurs")
def __str__(self):
return self.nom
class Offre(models.Model):
prix = models.IntegerField()
produit = models.ForeignKey(Produit, on_delete=models.CASCADE)
vendeur = models.ForeignKey(Vendeur, on_delete=models.CASCADE)
def __str__(self):
return "{0} vendu par {1}".format(self.produit, self.vendeur) |
Je vais sur sqliteonline.com pour visualiser ma base de données et effectivement j'ai une table "blog_vendeur_produits_sans_prix" qui apparaît :
Pièce jointe 504377
Savez-vous comment fonctionne la création de cette table ?
Merci pour votre aide.