from django.contrib.auth import get_user_model from django.contrib.auth.models import User from rest_framework import serializers UserModel = get_user_model() class UserSerializer(serializers.HyperlinkedModelSerializer): password = serializers.CharField(write_only=True) def create(self, validated_data): user = UserModel.objects.create( username=validated_data['username'] ) user.set_password(validated_data['password']) user.save() return user class Meta: model = User fields = ['url', 'username', 'email', 'groups', 'password'] class CurrentUserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ['id', 'username', 'email', 'first_name', 'last_name', 'last_login']