Здравствуйте! Помогите пожалуйста разобраться.
Сталкнулся со следующей проблемой. Есть суперпользователь у которого отсутствует одно права (к примеру права use_tool). При проверке у данного пользователя права use_tool, я ожидал что выдаст False, так как у данного пользователя данного права нет, хоть он и суперпользователь. Выдает всегда True.
views.py:if user.has_perm("use_tool"):
print "True"
else:
print "False"
Заглянул под капот Джанго и заметил, что там такое наследование идет:
User -> AbstractUser -> AbstractBaseUser, PermissionMixin
В
PermissionMixin определен метод
has_perm:
def has_perm(self, perm, obj=None):
if self.is_active and self.is_superuser: <-- Проблема вызывается из-за данной строки
return True
P.S. Ну или как по другому проверить у пользователя не взирая на его статус определенное права (permission)?