Регистрационные данные "потерялись" где-то в python django 4

У меня есть мое супер базовое приложение для аутентификации, и я попытался написать простую Регистрацию с email, именем, фамилией и (логично) паролем, но кажется, что когда я ввожу данные запроса, они где-то "теряются". Когда я нажимаю кнопку "POST", все поля пустые и написано: "This field is required". Я пытаюсь разобраться с этим уже довольно долгое время, но я новичок в django. Надеюсь, вы сможете заметить проблему.

Вот мой models.py:

class UserManager(BaseUserManager):
    def create_user(self, first_name, last_name, email, password=None):

        if first_name is None:
            raise TypeError('Users must have a first name')

        if last_name is None:
            raise TypeError('Users must have a last name')

        if email is None:
            raise TypeError('Users must have an email')

        user = self.model(email=self.normalize_email(email), first_name=first_name, last_name=last_name)
        user.set_password(password)
        user.save()

        return user

class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(db_index=True, unique=True)
    first_name = models.CharField(max_length=20)
    last_name = models.CharField(max_length=20)
    is_active = models.BooleanField(default=False)
    is_staff = models.BooleanField(default=False)
    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = ['first_name', 'last_name']
    objects = UserManager

Мой serializers.py:

class RegistrationSerializer(serializers.ModelSerializer):
    token = serializers.CharField(max_length=255, read_only=True)

    class Meta:
        model = User
        fields = ['first_name', 'last_name', 'email', 'password', 'token']

    def create(self, validated_data):
        return User.objects.create_user(**validated_data)

И мой views.py:

class RegistrationAPIView(APIView):
    permission_classes = (AllowAny,)
    serializer_class = RegistrationSerializer

    def post(self, request):
        user = request.data.get('user', {})

        serializer = self.serializer_class(data=user)
        serializer.is_valid(raise_exception=True)
        serializer.save()

        return Response(serializer.data, status=status.HTTP_201_CREATED)
Вернуться на верх