Why isn't my Django User Model's Password Hashed?

后端 未结 4 604
野趣味
野趣味 2020-12-05 15:06

I am using the Django REST Framework (DRF) to create an endpoint with which I can register new users. However, when I hit the creation endpoint with a POST, the new user is

4条回答
  •  萌比男神i
    2020-12-05 15:39

    This worked for me.

    class UserSerializer(serializers.ModelSerializer):
        def create(self, *args, **kwargs):
            user = super().create(*args, **kwargs)
            p = user.password
            user.set_password(p)
            user.save()
            return user
    
        def update(self, *args, **kwargs):
            user = super().update(*args, **kwargs)
            p = user.password
            user.set_password(p)
            user.save()
            return user
    
        class Meta:
            model = get_user_model()
            fields = "__all__" 
    

提交回复
热议问题