Как работать с permissions в Django?

Всем привет.

Задача:

Есть пользователь, он делает какое-то определенное действие (например, тыкает кнопку), получает права, смотрит контент.

Реализация:

Создать группу
Добавить в неё уникальное право
Добавить пользователя в эту группу
Проверить это право.

Мог бы кто-то для примера скинуть код, как сделать каждое из данных действий? Покопался в документации, там немного непонятно изложено насчет данного момента.
  • Вопрос задан
  • 10305 просмотров
Решения вопроса 1
@deliro
from django.contrib.auth.models import Permission, Group
from django.contrib.contenttypes.models import ContentType

content_type = ContentType.objects.get_for_model(YourModel)
my_permission = Permission.objects.create(codename='your_permission', 
                                          name='Can access something', 
                                          content_type=content_type)
my_group = Group.objects.create(name='My Group')
my_group.permissions = [my_permission]
user.groups.add(my_group)
user.has_perm('app_label.your_permission')  # True

Не понимаю только, зачем тут группа, если пермишены можно добавлять напрямую юзеру. Индивидуально.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mukhtar
Посмотрите на эту статью.
https://gadjimuradov.ru/post/django-permissions-up...
Тут описано для начинающих
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы