Как разграничить права пользователей, если они должны иметь разные права в разных сущностях?
Пишу небольшое приложение. В нём есть модель User - расширенная модель пользователей, Company - список компаний, Partnership - связь между Company и User.
Возникла такая проблема. Дефолтная настройка прав доступа касается именно модели User (groups и permissions). Получается, например, если зарегистрировался пользователь user#1 и мы ему даём какие-то определенные группы и права (пусть даже is_superadmin=True), то будучи находясь в company#1 и являясь сотрудником partnership#1 (допустим, является топ-менеджером), то такие же права он будет иметь в company#2, являясь partnership#2 (а тут он складской рабочий).
И тогда вопрос. Каким образом можно разграничить права пользователей, если они занимают в компаниях разные должности? При этом, сохранив функционал по проверке прав, по типу has_perm()
Или всё реально нужно переделывать/переписывать под себя?