Отсутствует 1 необходимый позиционный аргумент в django createsuperuser
я пытаюсь создать модель Account, которая расширяет AbstractBaseUser, и я использую Accountmanger, но он показывает мне следующую ошибку, когда я пытаюсь создать суперпользователя.
AccountManager.create_superuser() missing 1 required positional argument: 'phone'
и это класс Manager
class AccountManager(BaseUserManager):
def create_user(self, email,phone,password, **extra_fields):
if not email:
raise ValueError('The given email must be set')
if not phone:
raise ValueError('User must have a phone number.')
account = self.model(
email=self.normalize_email(email)
)
extra_fields.setdefault('is_superuser', False)
account.phone=phone
account.set_password(password)
account.save(using=self._db)
return account
def create_superuser(self,email,phone,password,**extra_fields):
extra_fields.setdefault('is_superuser', True)
if extra_fields.get('is_superuser') is not True:
raise ValueError('Superuser must have is_superuser=True.')
if not phone:
raise ValueError('User must have a phone number.')
account = self.create_user(email,phone,password=password)
return account
и вот класс Model
class Account(AbstractBaseUser, PermissionsMixin):
name = models.CharField(max_length = 20,verbose_name = "Name",)
email = models.CharField(max_length = 50, unique = True, validators [validators.EmailValidator()],verbose_name = "Email")
phone = models.CharField(max_length=15,unique=True,null=True)
date_joined = models.DateTimeField(default=timezone.now)
picture = models.ImageField(upload_to='account/', blank=True, null=True)
is_staff = models.BooleanField(default=False)
is_active = models.BooleanField(default=True)
admin = models.BooleanField(default=False)
USERNAME_FIELD = 'email'
# Custom user manager
objects = AccountManager()
def __str__(self):
return self.name
я искал подобную ошибку, но ничего не вышло... помогите