Проверьте разрешение объекта для пользователя с глобальным разрешением - PullRequest
0 голосов
/ 17 апреля 2019

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

joe = User.objects.get(username="joe")
assign_perm('parse.show_company', joe) # assign global permission
company = Company.objects.get(id=id)

joe.has_perm('parse.show_company', company ) # check permission for object, return False

1 Ответ

0 голосов
/ 30 мая 2019

Это открытая проблема с проверкой прав доступа в приложении Django Guardian. Вы можете найти его на github.

https://github.com/django-guardian/django-guardian/issues/294

Вы также можете проверить глобальное разрешение для объекта с пользователем, как показано ниже:

from guardian.shortcuts import get_objects_for_user
if company in get_objects_for_user(company, 'parse.show_company'):
    # do your stuff

Надеюсь, это поможет вам.

...