django-rest-framework-3 通用视图将原始密码更新为散列

django-rest-framework-3 generic view update raw password to hash

在 django-rest-framework 2.x 中,我曾经使用通用 api.

中的 post_save() 方法将我的原始密码更新为散列

我的新通用视图class是这样的

class UserList(generics.ListCreateAPIView):
    queryset = User.objects.all()
    serializer_class = UserSerializer

    def perform_update(self, serializer):
        #pdb.set_trace()
        obj = self.get_object()
        password = obj.set_password(obj.password)
        serializer.save(password=password)

在使用 pdb 进行调试时,我发现从未调用 perform_update() 函数。

请帮助我如何使用 django-rest-framework-3 解决这个问题

您正在使用 ListCreateAPIView which doesn't have UpdateModelMixin. And as per documentation:

perform_update(self, serializer) - Called by UpdateModelMixin when saving an existing object instance.