Я изучаю детали Django уже около недели, и мне нравится то, что я вижу. Однако я столкнулся с некоторыми негативными моментами в отношении детального контроля разрешений на интерфейс CRUD.
То, что я пишу, представляет собой веб-приложение для управления клиентами интрасети. В организации около 6 уровней, и мне нужно ограничить доступ к клиентским группам на основе уровней. Постоянно расширяется. У меня есть довольно хорошее представление о том, как я собираюсь это сделать, но я не уверен, смогу ли я хорошо интегрировать его в готовый интерфейс администратора.
Я абсолютно не занимался разработкой Django, иначе у меня, вероятно, было бы лучшее представление о том, будет ли это работать или нет. Я, вероятно, не буду использовать Django, если сгенерированный интерфейс администратора будет бесполезен для этого проекта, но, как я уже сказал, существует большая зависимость от точных настраиваемых разрешений.
Позволит ли Django создавать собственные разрешения/правила и беспрепятственно интегрировать их в интерфейс администратора CRUD?
Обновление первое: я хочу использовать приложение администратора, чтобы свести к минимуму повторение создания интерфейсов CRUD, поэтому да, я считаю его обязательным.
Обновление два:
Я хочу описать разрешения, необходимые для этого проекта.
Клиент может принадлежать одному или нескольким «магазинам». Сотрудники, работающие полный рабочий день, должны иметь возможность редактировать клиентов только в своем магазине (даже если они принадлежат другому магазину). Однако они не должны иметь возможности видеть/редактировать клиентов в другом магазине. Случайные клиенты должны иметь возможность просматривать клиентов только в зависимости от того, в каком магазине они также зарегистрированы (или если случайный пользователь вошел в систему как пользователь магазина - что более вероятно).
Руководство выше них должно иметь возможность видеть всех сотрудников магазинов, которыми они управляют, не более того.
Высшее руководство должно иметь возможность редактировать ВСЕХ сотрудников и предоставлять разрешения нижестоящим.
После прочтения документации django говорится, что вы не можете (автоматически) устанавливать разрешения для подмножества группы. Только вся группа. Достаточно ли просто смоделировать собственные разрешения для этой цели?