У меня есть сериализатор на основе модели, который называется RecipeSerializer ().В нем у меня есть метод создания, который выглядит так:
class RecipeSerializer(serializers.ModelSerializer):
hops = HopAdditionSerializer(many=True)
fermentables = FermentableAdditionSerializer(many=True)
style = StyleSerializer()
yeast = YeastSerializer()
class Meta:
model = Recipe
exclude = ()
def create(self, validated_data):
recipe = Recipe.objects.create(**validated_data)
recipe.save();
return recipe
Я пытаюсь сделать что-то похожее с моим методом update ().В документации они показывают прохождение каждого поля по одному и установку значений:
def update(self, instance, validated_data):
instance.email = validated_data.get('email', instance.email)
instance.content = validated_data.get('content', instance.content)
instance.save()
Хотя в моей модели много полей.Я хотел бы передать проверенные данные методу обновления, аналогичному методу создания:
instance.update(**validated_data)
Однако я получаю сообщение об ошибке:
'Recipe' object has no attribute 'update'
Возможно ли этообновить все свойства экземпляра, используя проверенный набор данных, без индивидуальной настройки каждого свойства?