Django различный набор разрешений для пользователя
В моем проекте пользователь и офис имеют отношения многие ко многим и каждый пользователь может иметь различные роли в различных офисах, следовательно, он имеет различный набор разрешений, как я могу достичь этого в django, должен ли я использовать разрешения на уровне объекта и устанавливать разрешения в сквозной модели между офисом и пользователем или я могу использовать встроенную модель django Permission и иметь поле разрешений в сквозной модели, и я не думаю, что использование групп является хорошим решением для этого
Вам нужно разрешение на уровне объекта для вашего проекта, используйте django-guardian Затем вы можете назначить разрешения на уровне объекта (скажем, конкретного офиса) для данного пользователя.
>>> from guardian.models import UserObjectPermission
>>> user = User.objects.get(first_name='foo')
>>> office = Office.objects.get(name='bar')
>>> UserObjectPermission.objects.assign_perm('entry', user, obj=office)
<UserObjectPermission: office | foo | entry>
>>> jack.has_perm('entry', office)
True