from django.db import models from django.urls import reverse class Ingredient(models.Model): nom = models.CharField("Nom", max_length=200) def __str__(self): return self.nom class Unite(models.Model): nom = models.CharField("Unité", max_length=200) def __str__(self): return self.nom class Recette(models.Model): nom = models.CharField("Nom", max_length=200) photo = models.ImageField("Photo", upload_to='photos', blank=True) nb_pers = models.IntegerField(default=4) prep = models.TextField("Préparation", blank=True) source = models.CharField("Source", max_length=200, blank=True) ingredients = models.ManyToManyField(Ingredient, through='Composition', blank=True) def __str__(self): return self.nom def get_absolute_url(self): return reverse('recette', args=[self.pk]) class Composition(models.Model): recette = models.ForeignKey(Recette, on_delete=models.CASCADE) ingredient = models.ForeignKey(Ingredient, on_delete=models.PROTECT) quantite = models.DecimalField(max_digits=6, decimal_places=3, null=True, blank=True) unite = models.ForeignKey(Unite, null=True, blank=True, on_delete=models.PROTECT)