Группы Django и разрешения. Расширение групп, чтобы иметь FK?

Я работаю над продуктом, который позволит различным школам управлять своим контентом онлайн.

Частично это включает настройку логики управления доступом на основе ролей, которую я написал сам. По сути, у каждой школы есть свой набор ролей с собственным набором разрешений. Пользователь программного обеспечения может принадлежать к нескольким школам с разными ролями в любой момент времени.

По разным причинам я хочу отказаться от этого и вместо этого использовать Django Groups and Permissions вместе с такой библиотекой, как django-guardian. Проблема, с которой я столкнулся, заключается в том, как мне расширить модель групп, чтобы я мог включать внешний ключ в каждую новую школу и по-прежнему иметь возможность использовать вспомогательные методы в Django, а также библиотеки, такие как django-guardian.

Один из возможных подходов, который я придумал, состоит в том, чтобы просто создавать группы на основе названий событий, таких как «Школа 1 — Администратор», «Школа 1 — Учитель», «Школа 2 — Администратор», «Школа 2 — Учитель» и запроса. разрешения, основанные на этом вместо этого. Есть ли веская причина, почему я не должен делать это таким образом?

6
задан super9 19 June 2012 в 06:08
поделиться