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)
и еще одна вещь, я проверил это в группе панели администратора, с успешным назначением
может кто-нибудь объяснить мне, как это неверно?
Я думаю, вам нужно добавить таблицу пользователя (которая является классом в наших models.py или непосредственно таблице auth_user) до разрешения доступа. И убедитесь, что вы добавили сервер аутентификации в файл settings.py, если вы использовали таблицу auth_user.
user_right = request.user.has_perm('User.can_Delete')
Дайте мне знать, что это работает или нет.