У меня есть три модели, Холодильник, Рецепт и Ингредиент, и я хочу получить набор запросов всех рецептов и сравнить их ингредиенты с пищевыми продуктами моего объекта-холодильника. Я хочу отфильтровать все рецепты, в которых нет ингредиентов, совпадающих с содержимым моих продуктов, и вернуть набор запросов только тех, которые соответствуют.
Холодильник и еда в одном приложении: рецепт и ингредиент впрочее.
Я довольно новичок в Django и не смог найти способ сделать это. Мне удалось отфильтровать рецепты только с помощью поиска, но это всего лишь одно слово.
class Fridge(models.Model):
name = models.CharField(max_length=20)
belongs_to = models.ForeignKey(User, related_name="my_fridge", on_delete=models.CASCADE)
food_contents = models.ManyToManyField(Food, related_name="in_fridges")
slug = models.SlugField(allow_unicode=True, unique=True)
class Food(models.Model):
name = models.CharField(max_length=20, unique=True)
quantity = models.PositiveIntegerField()
description = models.TextField(max_length=255, blank=True)
date_added = models.DateTimeField(default=timezone.now)
expiration_date = models.DateTimeField()
is_expired = models.BooleanField(default=False)
slug = models.SlugField(allow_unicode=True, unique=True)
class Recipe(models.Model):
name = models.CharField(max_length=255, unique=True)
rating = models.CharField(max_length=255)
preparation_time = models.CharField(max_length=255)
servings = models.CharField(max_length=255)
instructions = models.CharField(max_length=1000)
slug = models.SlugField()
class Ingredient(models.Model):
name = models.CharField(max_length=255)
recipe = models.ForeignKey(Recipe, related_name="ingredients", on_delete=models.CASCADE)