Я работаю на сайте Django, который должен дать возможность выбрать рецепты приготовления, содержащие ингредиенты, предоставленные пользователем. Итак, вкратце, идея сайта - «вещи, которые вы можете приготовить из еды в своем холодильнике».
Итак, я сделал 2 модели
class Recipe (models.Model):
name = models.CharField(max_length=255)
ingredients = models.ManyToManyField(Ingredient)
class Ingredient (models.Model):
name = models.CharField(max_length=255)
Давайте представим, что у меня есть список ['egg','bread','meat','onion']
.
Теперь мне нужно выбрать все рецепты, которые можно приготовить из этого списка по ингредиентам.
Проблема в том, что некоторые рецепты могут содержать только некоторые ингредиенты из списка.
Например:
- Яичный тост = яйцо + хлеб
- тост с мясным яйцом = мясо + яйцо + хлеб
- мясо с луком = мясо + лук
- и т. Д. *
Итак, мой вопрос: можно ли выбрать все рецепты, которые можно приготовить, из списка ингредиентов И выбрать самые близкие рецепты, которые можно приготовить, из списка ингредиентов + некоторые ингредиенты из магазина?
Например: рецепты содержат 3 элемента из 4, поэтому мы добавляем их к результату.