РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
560 of 818 menu

Атрибут groups

Атрибут groups модели User представляет собой отношение многие-ко-многим к модели Group. Он позволяет управлять группами пользователя, добавлять и удалять пользователя из групп, а также проверять принадлежность пользователя к конкретной группе. Через группы пользователь получает все разрешения, назначенные этим группам. Атрибут работает как стандартный менеджер многих-ко-многим в Django.

Синтаксис

user.groups.add(group) user.groups.remove(group) user.groups.clear() user.groups.all()

Пример

Получим все группы, в которые входит пользователь:

from django.contrib.auth.models import User user = User.objects.get(username='john') groups = user.groups.all() for group in groups: print(group.name)

Результат выполнения кода:

"editors" "moderators"

Пример

Добавим пользователя в группу 'editors':

from django.contrib.auth.models import User, Group user = User.objects.get(username='john') editors_group = Group.objects.get(name='editors') user.groups.add(editors_group) print(user.groups.filter(name='editors').exists())

Результат выполнения кода:

"True"

Пример

Удалим пользователя из группы 'moderators':

from django.contrib.auth.models import User, Group user = User.objects.get(username='john') moderators_group = Group.objects.get(name='moderators') user.groups.remove(moderators_group) print(user.groups.filter(name='moderators').exists())

Результат выполнения кода:

"False"

Пример

Проверим, входит ли пользователь в группу 'editors':

from django.contrib.auth.models import User user = User.objects.get(username='john') is_editor = user.groups.filter(name='editors').exists() print(is_editor)

Результат выполнения кода:

"True"

Пример

Очистим все группы пользователя:

from django.contrib.auth.models import User user = User.objects.get(username='john') user.groups.clear() print(user.groups.count())

Результат выполнения кода:

"0"

Смотрите также

  • класс Group,
    который представляет группу пользователей
  • атрибут permissions модели Group,
    который содержит разрешения группы
  • атрибут is_superuser,
    который определяет наличие всех прав у пользователя
  • метод has_perm,
    который проверяет наличие конкретного разрешения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить