我需要在视图响应中传递自定义模型更新方法的返回值。
在我的序列化器中我想做:
class Serializer(ModelSerializer):
def update(self, instance, validated_data):
something_special = validated_data.pop('something_special')
important_info = model.update_something_special(something_special)
for attr, value in validated_data.items():
setattr(instance, attr, value)
instance.save()
return instance
Run Code Online (Sandbox Code Playgroud)
现在我认为我想important_info在回复中返回:
class View(ModelViewSet):
def update(self, request, *args, **kwargs):
partial = kwargs.pop('partial', False)
instance = self.get_object()
serializer = self.get_serializer(instance, data=request.data, partial=partial)
serializer.is_valid(raise_exception=True)
self.perform_update(serializer)
important_info = ???
return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)
这在 Django REST 中可能吗?或者这是一个死胡同?如果是这样,如何以不同的方式做到这一点?