Стандартное создание суперпользователя в админке Django дает нераспознаваемую ошибку

python manage.py createsuperuser --username='donfox'

После ввода пароля возвращается это

raise TypeError("%s() got an unexpected keyword argument '%s'" % (cls.name, kwarg)) TypeError: User() получил неожиданный аргумент ключевого слова 'email'

Пользователь расширен из "AbstractUser".

class User(AbstractUser):
    email = None
    first_name = None
    last_name = None
    REQUIRED_FIELDS = []
    
    def __str__(self):
        return self.email

    class Meta:
        db_table = 'User'


   Column    |           Type           | Collation | Nullable |              Default               
--------------+--------------------------+-----------+----------+------------------------------------
 id           | integer                  |           | not null | nextval('"User_id_seq"'::regclass)
 password     | character varying(128)   |           | not null | 
 last_login   | timestamp with time zone |           |          | 
 is_superuser | boolean                  |           | not null | 
 username     | character varying(150)   |           | not null | 
 is_staff     | boolean                  |           | not null | 
 is_active    | boolean                  |           | not null | 
 date_joined  | timestamp with time zone |           | not null | 

Просто удалите эти строки:

    email = None
    first_name = None
    last_name = None

И затем переделайте свои миграции. Я не уверен, зачем их добавлять, но поле email необходимо, как вы можете видеть в описании ошибки.

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