Это определение create_superuser
:
обратите внимание, что username
, email
, password
не являются аргументами ключевых слов, вы не можете изменить порядок при вызове этого метода.
Вы можете изменить порядок на самом деле, я только что попробовал.
def create_superuser(self, username, email, password, **extra_fields):
extra_fields.setdefault('is_staff', True)
extra_fields.setdefault('is_superuser', True)
if extra_fields.get('is_staff') is not True:
raise ValueError('Superuser must have is_staff=True.')
if extra_fields.get('is_superuser') is not True:
raise ValueError('Superuser must have is_superuser=True.')
return self._create_user(username, email, password, **extra_fields)
Просто сделайте это в своем коде:
User.objects.create_superuser(username, email, password)
is_admin
не является атрибутом модели пользователя по умолчанию, вы имеете в виду is_staff
?
Независимо от того, вам не нужно устанавливать их, поскольку create_superuser
установит их для вас.
Вам также не нужно звонить save
.
структура файла должна быть такой в вашем случае
PROJECT_ROOT/
YOUR_APP/
__init__.py
models.py
management/
commands/
initadmin.py
tests.py
views.py