Атрибут is_superuser
Атрибут is_superuser модели User представляет собой булево поле,
которое указывает, является ли пользователь суперпользователем.
Суперпользователь обладает абсолютными правами доступа во всей
административной панели Django и в вашем приложении. Для таких
пользователей все проверки прав через методы has_perm и
has_module_perms всегда возвращают True.
По умолчанию значение атрибута установлено в False.
Синтаксис
user.is_superuser
Пример
Давайте проверим, является ли текущий пользователь суперпользователем:
from django.contrib.auth import get_user_model
User = get_user_model()
user = User.objects.get(username='admin')
if user.is_superuser:
print("User is superuser")
else:
print("User is not superuser")
Результат выполнения кода:
"User is superuser"
Пример
Давайте создадим суперпользователя программно:
from django.contrib.auth import get_user_model
User = get_user_model()
superuser = User.objects.create_superuser(
username='admin',
email='admin@example.com',
password='admin123'
)
print(superuser.is_superuser)
Результат выполнения кода:
"True"
Пример
Давайте отфильтруем всех суперпользователей в системе:
from django.contrib.auth import get_user_model
User = get_user_model()
superusers = User.objects.filter(is_superuser=True)
for user in superusers:
print(user.username)
Результат выполнения кода:
"admin"
"root"
"superuser"
Смотрите также
-
атрибут
is_staff,
который определяет доступ пользователя к админ-панели -
атрибут
is_active,
который определяет активность учетной записи пользователя -
метод
has_perm,
который проверяет наличие конкретного разрешения у пользователя -
метод
create_superuser,
который создает нового суперпользователя