Guest User

Untitled

a guest
Mar 28th, 2018
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. from django.contrib.auth import get_user_model
  2. from rest_framework import serializers
  3.  
  4. class UserSerializer(serializers.ModelSerializer):
  5.  
  6. class Meta:
  7. model = get_user_model()
  8. fields = ['password', 'username', 'first_name', 'last_name', 'email']
  9. read_only_fields = ['is_staff', 'is_superuser']
  10. write_only_fields = ['password']
  11.  
  12. class UserSerializer(serializers.ModelSerializer):
  13. # <Your other UserSerializer stuff here>
  14.  
  15. def create(self, validated_data):
  16. password = validated_data.pop('password', None)
  17. instance = self.Meta.model(**validated_data)
  18. if password is not None:
  19. instance.set_password(password)
  20. instance.save()
  21. return instance
  22.  
  23. def update(self, instance, validated_data):
  24. for attr, value in validated_data.items():
  25. if attr == 'password':
  26. instance.set_password(value)
  27. else:
  28. setattr(instance, attr, value)
  29. instance.save()
  30. return instance
  31.  
  32. def create(self, validated_data):
  33. user = get_user_model(**validated_data)
  34. user.set_password(validated_data['password'])
  35. user.save()
  36. return user
  37.  
  38. def update(self, instance, validated_data):
  39. for f in UserSerializer.Meta.fields + UserSerializer.Meta.write_only_fields:
  40. set_attr(instance, f, validated_data[f])
  41. instance.set_password(validated_data['password'])
  42. instance.save()
  43. return instance
Add Comment
Please, Sign In to add comment