Я новичок в Django REST Framework, поэтому у меня есть один вопрос.Один фильтр для двух моделей
У меня есть две модели :
class Recipe(models.Model):
recipe_id = models.AutoField(primary_key=True)
title = models.CharField(max_length=100)
category = models.ForeignKey(FoodCategory)
.....
class RecipeIngredients(models.Model):
ri_id = models.AutoField(primary_key=True)
recipe_id = models.ForeignKey(Recipe)
ri_number = models.IntegerField()
ingredient_id = models.ForeignKey(Ingredient)
.....
Serializer.py:
class RecipeSerializer(serializers. ModelSerializer):
class Meta:
model = Recipe
fields = ('recipe_id', 'title', 'category',....)
class RecipeIngredientSerializer(serializers.ModelSerializer):
class Meta:
model = RecipeIngredients
fields = ('ri_id', 'recipe_id', 'ri_number', 'ingredient_id', ...)
Выходной сигнал каждого:
{"recipe_id":1,"title":"Recipe1","category":1, ....} # Recipe
[{"ri_id":15,"recipe_id":1,"ri_number":1,"ingredient_id":6,},
{"ri_id":16,"recipe_id":1,"ri_number":2,"ingredient_id":7,....}] # RecipeIngredients
Существует вопрос: Могу ли я сделать Рецепт query filteri ng по категория (модель рецепта) и, например, Идентификатор ингредиентов (модель рецепта), так что это будет один запрос?
Например: идентификатор
http://127.0.0.1/api/recipes?category=category_name&ingredients=[ingred_list]
Основной проблемой, что категории поле в рецепте модели, но ингредиентов в модели RecipeIngredients, но каждый ингредиент относится к идентификатор рецепта.
Ваш вопрос не совсем ясен. Как вы хотите фильтровать? –
Спасибо за ответ. Например, я хочу показать все рецепты, которые находятся в ** Категория ** [category_name] и с конкретным списком ** ингредиентов **. htttp: //127.0.0.1/api/recipes? Category = еда и ингредиенты = [ингредиенты/ингредиент]. Что-то вроде этого. – someart