/ / Django Rest Framework - промяна на serializer.data - django, django-rest-frame

Django Rest Framework - промяна на serializer.data - django, django-rest-framework

Имам оглед, където правя следното -

def retrieve(self, request, pk=None):
queryset = MyClass.objects.all()
class_data = get_object_or_404(queryset, pk=pk)
serializer = self.get_serializer(class_data)
new_data = serializer.data.copy()
new_data["my_field"] = "updated info!"
serializer = self.get_serializer(data=new_data)
serializer.is_valid()
return Response(serializer.data)

Бих искал да не се налага да правя копие на данните на сериализатора, за да актуализирам информацията. Има ли начин за промяна на поле в сериализатор преди показване през изгледа?

редактиране -

serializer.data["my_field"] = "updated info!"

не работи, освен ако не направя копие.

Отговори:

1 за отговор № 1

Ами простото решение е просто да зададете извлечения атрибут на обекта (class_data.my_field = "updated info!").