Регистрационные данные "потерялись" где-то в 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)