Как правильно работать с группами и разрешениями?

Для своего проекта хотел создать группу Модераторов, которые могут изменять и удалять записи. Модель для группы такая:

class Group(models.Model):
    name = models.CharField(max_length=150)
    permissions = models.ManyToManyField(Permission, verbose_name='Права', blank=True, related_name='perms')

Во вьюшке прописал такой код:

def create_moderator_group():
    
    group, _ = Group.objects.get_or_create(name='Moderators')

    event_permissions = [
        Permission.objects.get(name='Can add events'),
        Permission.objects.get(name='Can change events'),
        Permission.objects.get(name='Can delete events'),
        Permission.objects.get(name='Can view events'), 
    ]
    
    group.permissions.add(*event_permissions)


create_moderator_group()

def add_user_to_groups():
    user_ids = [1, 8]
    group = Group.objects.get(name='Moderators')
    
    current_group_users = group.user_set.all()

    
    users_to_add = [user for user in User.objects.filter(pk__in=user_ids) if user not in current_group_users]

    
    group.user_set.add(*users_to_add)

    
    group_user_ids = [user.id for user in current_group_users]

   
    users_to_remove_ids = set(group_user_ids) - set(user_ids)

    
    if users_to_remove_ids:
        group.user_set.remove(*list(users_to_remove_ids))

add_user_to_groups()

Он создал мне группу Moderators с правами + автоматически добавляет или убирает пользователей ы группу. По идее теперь пользователь должен наследовать права от группы, но, например, в темплейте при проверке {% if perms.events.delete_events and perms.events.change_events %} ... {% endif %} нужный контент не отображается, то есть проверка на права не пройдена. Не могу понять в чем проблема

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