Пользовательское разрешение Django auth.group

0

im создать пользовательскую группу с некоторыми разрешениями, подобными этому

//создаем новую группу

new_group, created = Group.objects.get_or_create(name='AdminGroup')
ct = ContentType.objects.get_for_model(User)

//Добавить разрешение для новой группы

p3 = Permission.objects.create(
    codename='DELETE', name='can_Delete', content_type=ct)
new_group.permissions.add(p3)

теперь я хочу проверить, имеет ли пользователь такое разрешение, подобное этому

user_right = request.user.has_perm('can_Delete')
print(user_right)

эта печать возвращает мне false. как??

и, конечно, я добавил эту группу к пользователю, как это

g = Group.objects.get(name='AdminGroup')
request.user.groups.add(g)

и еще одна вещь, я проверил это в группе панели администратора, с успешным назначением

может кто-нибудь объяснить мне, как это неверно?

Теги:
authentication

1 ответ

1
Лучший ответ

Я думаю, вам нужно добавить таблицу пользователя (которая является классом в наших models.py или непосредственно таблице auth_user) до разрешения доступа. И убедитесь, что вы добавили сервер аутентификации в файл settings.py, если вы использовали таблицу auth_user.

user_right = request.user.has_perm('User.can_Delete')

Дайте мне знать, что это работает или нет.

  • 0
    Нету все тот же :(
  • 0
    Попробуйте с помощью request.user.has_perm ('App_name.can_Delete')
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню