Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class UserSerializer(serializers.ModelSerializer):
- first_name = serializers.CharField()
- last_name = serializers.CharField()
- email = serializers.EmailField()
- password = serializers.CharField(style={'input_type': 'password'})
- class Meta:
- model = User
- fields = '__all__'
- def create(self, validated_data):
- user = User.objects.create(
- username=validated_data.get('username'),
- email=validated_data.get('email'),
- password=validated_data.get('password')
- )
- user.set_password(validated_data.get('password'))
- user.save()
- return user
- def update(self, instance, validated_data):
- #print instance <-- if never gets here... is update not update
- for key, value in validated_data.items():
- if value:
- print value
- setattr(instance, key, value)
- instance.save()
- return instance
- class UserRetrieveUpdateAPIView(generics.RetrieveUpdateAPIView):
- serializer_class = UserSerializer
- permission_classes = (IsAuthenticated, )
- queryset = User.objects.all()
- def get_object(self):
- return self.request.user
- def update(self, request, *args, **kwargs):
- serializer = UserSerializer(data=request.data, partial=True)
- serializer.is_valid(raise_exception=True)
- self.perform_update(serializer)
- instance = serializer.instance
- return Response(UserSerializer(instance=instance).data, status=status.HTTP_200_OK)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement