Advertisement
Guest User

Untitled

a guest
Oct 26th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. class UserSerializer(serializers.ModelSerializer):
  2. first_name = serializers.CharField()
  3. last_name = serializers.CharField()
  4. email = serializers.EmailField()
  5. password = serializers.CharField(style={'input_type': 'password'})
  6.  
  7. class Meta:
  8. model = User
  9. fields = '__all__'
  10.  
  11. def create(self, validated_data):
  12. user = User.objects.create(
  13. username=validated_data.get('username'),
  14. email=validated_data.get('email'),
  15. password=validated_data.get('password')
  16. )
  17. user.set_password(validated_data.get('password'))
  18. user.save()
  19. return user
  20.  
  21. def update(self, instance, validated_data):
  22. #print instance <-- if never gets here... is update not update
  23. for key, value in validated_data.items():
  24. if value:
  25. print value
  26. setattr(instance, key, value)
  27. instance.save()
  28. return instance
  29.  
  30. class UserRetrieveUpdateAPIView(generics.RetrieveUpdateAPIView):
  31. serializer_class = UserSerializer
  32. permission_classes = (IsAuthenticated, )
  33. queryset = User.objects.all()
  34.  
  35. def get_object(self):
  36. return self.request.user
  37.  
  38. def update(self, request, *args, **kwargs):
  39. serializer = UserSerializer(data=request.data, partial=True)
  40. serializer.is_valid(raise_exception=True)
  41. self.perform_update(serializer)
  42. instance = serializer.instance
  43. return Response(UserSerializer(instance=instance).data, status=status.HTTP_200_OK)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement