Untitled
unknown
plain_text
a year ago
1.4 kB
4
Indexable
@atomic def update(self, instance, validated_data): """Изменение рецепта автором.""" data = validated_data.copy() # Проверяем, был ли указан ингредиент. if 'ingredient' in data: try: RecipeIngredient.objects.get(recipe=instance, ingredient=data['ingredient']) # Если ингредиента не существует, возвращаем статус 400. except RecipeIngredient.DoesNotExist: return Response( {'detail': 'Указанный ингредиент не существует'}, status=status.HTTP_400_BAD_REQUEST ) instance.name = validated_data.get('name', instance.name) instance.image = validated_data.get('image', instance.image) instance.text = validated_data.get('text', instance.text) instance.cooking_time = validated_data.get( 'cooking_time', instance.cooking_time ) tags_data = validated_data.get('tags') instance.tags.set(tags_data) ingredients_data = validated_data.get('ingredients') self.add_ingredients(ingredients_data, instance) instance.save() return instance
Editor is loading...