Я создаю экземпляр объекта User
. Само создание является стандартным вызовом User.objects.create_user
и работает нормально - пользователь создан. После этого я пытаюсь добавить несколько разрешений для него или ее:Добавление разрешений при сохранении пользователя в Django Rest Framework
for name in ('view_restaurant', 'change_restaurant', 'delete_restaurant',
'view_meal', 'add_meal', 'change_meal', 'delete_meal',
'view_order', 'delete_order',
'view_historicalorder', 'add_historicalorder', 'change_historicalorder',
'view_orderitem',
'view_historicalorderitem',
'view_restaurantemployee', 'add_restaurantemployee', 'change_restaurantemployee', 'delete_restaurantemployee'):
permission = Permission.objects.get(codename=name)
print(permission is None)
user.user_permissions.add(permission)
user.save()
print(user.has_perm(permission))
Как вы можете видеть, в последней строке я проверка, был ли пользователь назначен с соответствующим разрешением и несколько строк выше, я проверяю, разрешено ли None
. В результате объект разрешения никогда не бывает нигде, но вызов user.has_perm
всегда возвращает значение false. Что я здесь делаю неправильно?
Спасибо за оба предложения! –