django.db.models.query.QuerySet.create() got multiple values for keyword argument 'password'
من در کد زیر خطای بالا رو دارم
import uuid, random, string
from datetime import timedelta
from django.db import models
from django.contrib.auth.models import AbstractUser
from django.utils import timezone
from django.urls import reverse

region ==> custom user model
class CustomUser(AbstractUser):
username = models.CharField(
max_length=50,
unique=True,
primary_key=True,
blank=True,
verbose_name='نام کاربری'
)
phone_number = models.CharField(
max_length=13,
null=True,
blank=True,
verbose_name='شماره موبایل'
)
email = models.CharField(
max_length=100,
null=True,
blank=True,
verbose_name='ایمیل'
)
refrral = models.CharField(
max_length=100,
null=True,
blank=True,
verbose_name='معرف'
)
first_name = models.CharField(
max_length=20,
null=True,
blank=True,
verbose_name='نام'
)
last_name = models.CharField(
max_length=40,
blank=True,
null=True,
verbose_name='نام خانوادگی'
)
birth_date = models.DateField(
null=True,
blank=True,
verbose_name='تاریخ تولد'
)
avatar = models.ImageField(
upload_to='app_account/avatar/',
null=True,
blank=True,
verbose_name='آواتار پروفایل'
)
user_language = models.CharField(
max_length=20,
default='en',
verbose_name='زبان کاربر',
)
is_superuser = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
date_joined = models.DateTimeField(default=timezone.now)


def __str__(self):
    return f"{self.first_name} {self.last_name} / {self.username}"

class Meta:
    db_table = 'tbl_user_info'
    verbose_name_plural = 'مشخصات کاربران'
endregion
from rest_framework import serializers
from rest_framework import serializers, status
from rest_framework.exceptions import ValidationError
from django.contrib.auth.hashers import make_password
from app_account.models import (
CustomUser
)

class UsersSerializer(serializers.ModelSerializer):
class Meta:
model = CustomUser
fields = [
'username',
'phone_number',
'email',
'refrral',
'first_name',
'last_name',
'birth_date',
'avatar',
'password'
]
extra_kwargs = {'password': {'write_only': True}}


def create(self, validated_data):
    user = CustomUser.objects.create(
        **validated_data,
        password=make_password(validated_data['password']) 
    )
    return user
from django.shortcuts import render
from rest_framework import viewsets, status, serializers
from rest_framework.response import Response
from rest_framework.exceptions import ValidationError
from app_account.models import (
CustomUser
)
from app_account.serializers import (
UsersSerializer
)

region ==> viewsets for all model
class UsersViewSet(viewsets.ModelViewSet):
queryset = CustomUser.objects.all()
serializer_class = UsersSerializer


def create(self, request, *args, **kwargs):
    serializer:serializers = self.get_serializer(data=request.data)
    try:
        serializer.is_valid(raise_exception=True)
        self.perform_create(serializer)
        return Response(serializer.data, status=status.HTTP_201_CREATED)
    except ValidationError as e:
        if 'username' in e.detail:
            return Response({"error": str(e)}, status=status.HTTP_409_CONFLICT)
        return Response({"error": str(e)}, status=status.HTTP_400_BAD_REQUEST)
endregion
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from app_account.views import UsersViewSet

router = DefaultRouter()
router.register(r'users', UsersViewSet)

app_name = 'app_account'
urlpatterns = [
path('', include(router.urls)), # viewsets
]