serializers.py 800 B

12345678910111213141516171819202122232425262728
  1. from django.contrib.auth import get_user_model
  2. from django.contrib.auth.models import User
  3. from rest_framework import serializers
  4. UserModel = get_user_model()
  5. class UserSerializer(serializers.HyperlinkedModelSerializer):
  6. password = serializers.CharField(write_only=True)
  7. def create(self, validated_data):
  8. user = UserModel.objects.create(
  9. username=validated_data['username']
  10. )
  11. user.set_password(validated_data['password'])
  12. user.save()
  13. return user
  14. class Meta:
  15. model = User
  16. fields = ['url', 'username', 'email', 'groups', 'password']
  17. class CurrentUserSerializer(serializers.ModelSerializer):
  18. class Meta:
  19. model = User
  20. fields = ['id', 'username', 'email', 'first_name', 'last_name', 'last_login']