2015-11-08 6 views
0

У меня есть мнение, где я делаю следующее -Джанго Rest Framework - изменить serializer.data

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 обновить информацию. Есть ли способ изменить поле в сериализаторе перед отображением через представление?

редактировать -

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

не работает, если я не сделать копию.

ответ

1

Ну прямолинейное решение - это просто установить атрибут полученного объекта (class_data.my_field = 'updated info!').

+0

Большое спасибо! Я знал, что это должно быть что-то простое! – whoisearth

Смежные вопросы