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.
在 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.