Джанго много отношений по рецептуре еды - PullRequest
0 голосов
/ 02 мая 2019

Итак, у меня есть две модели: Рецепт и Еда. Например, я хочу купить куриную пасту с курицей и пастой. как мне это сделать?

class Recipe(models.Model):
    mealId = models.ForeignKey('meal.Meal',on_delete=models.CASCADE,related_name='meal')
    ingredientId=models.ManyToManyField('ingredient.Ingredient')
    amountId=models.ManyToManyField('amount.Amount')


class Meal(models.Model):
    mealName=models.CharField(max_length=100,verbose_name="Meal name")
    desc=RichTextField()
    img=models.ImageField(blank=True)
    categoryId=models.ManyToManyField('category.Category')

1 Ответ

1 голос
/ 02 мая 2019

Если вы хотите искать ингредиенты по имени поля вашей Ингредиента модели, например "курица", "макароны" и паста "Рецепт куриной пасты" могут содержать дополнительные ингредиенты, например : "курица", "паста", "соль", "соус". Тогда вы можете сделать это так:

# put here import your models
names_for_search = [
        "chicken",
        "pasta"
    ]
queryset = Recipe.objects.all()
for name in names_for_search:
    queryset = queryset.filter(ingredientId__name__in=[name])
result_reciple = queryset.first()
if result_reciple is not None:
    result_meal = result_reciple.mealId
...