小编Dav*_*ave的帖子

如何在 Django REST Framework 中将变量从 ModelSerializer.update() 传递到 ModelViewSet.update()

我需要在视图响应中传递自定义模型更新方法的返回值。

在我的序列化器中我想做:

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 中可能吗?或者这是一个死胡同?如果是这样,如何以不同的方式做到这一点?

python django-rest-framework

3
推荐指数
1
解决办法
1614
查看次数

标签 统计

django-rest-framework ×1

python ×1