Django Rest API Models Problem неожиданный аргумент ключевого слова 'is_staff'

у меня ошибка ExtendedUser() got an unexpected keyword argument 'is_staff'

Это мой model.py

class ExtendedUser(AbstractBaseUser):
        objects =  UserManager()
        id = models.AutoField(primary_key=True)
        first_name = models.CharField(max_length=100)
        last_name= models.CharField(max_length=100)
        username = models.CharField(max_length=100)
        email = models.CharField(max_length=100)
        created_at = models.DateTimeField(auto_now_add=True)
        updated_at = models.DateTimeField(auto_now=True)
        password = models.CharField(max_length=50)
        def __str__(self):
                return str(self.first_name)

и это мой сериализатор

class RegisterSerializer(serializers.ModelSerializer):
    class Meta:
        model = ExtendedUser
        fields = ['id','first_name','last_name','password','email']
        extra_kwargs = {'password': {'write_only': True}}


    def create(self, validated_data):
        user = ExtendedUser.objects.create_user(validated_data['first_name'], validated_data['email'], validated_data['password'])

        return user

В чем проблема, как избежать этой проблемы? Я не хочу использовать поле is_staff

Сериализаторы

from rest_framework import serializers
from django.contrib.auth.models import User

class UserSerializer(serializers.ModelSerializer):
   password = serializers.CharField(max_length=65, min_length=8, write_only=True),
   email = serializers.EmailField(max_length=255, min_length=4, required=True),
   first_name = serializers.CharField(max_length=255, min_length=2, required=True)
   last_name = serializers.CharField(max_length=255, min_length=2, required=True)

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

   def validate_email(self, email):
       existing_email = User.objects.filter(email=email).first()
       if existing_email:
           raise serializers.ValidationError("Someone with that email, address has already registered. Was it you?")
       return email

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

VIEW

from rest_framework.views import APIView
from .serializers import UserSerializer
from rest_framework.response import Response
from rest_framework import status


class RegisterView(APIView):
    serializer_class = UserSerializer
    def post(self, request):
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

УРЛЫ

from .api_view_register import RegisterView

urlpatterns = [
path('register/', RegisterView.as_view())
]

enter image description here

Вернуться на верх