Метод проектирования Django для нескольких групп пользователей
У меня есть проект для компании по предоставлению услуг по подбору персонала, который имеет по крайней мере четыре группы пользователей (администратор, работодатели, сотрудники и владелец компании по предоставлению услуг по подбору персонала). Каждая из них имеет следующие функции:
- Админ может делать все.
- Работодатель может публиковать, обновлять, просматривать вакансии/события. (не может удалить без разрешения администратора). .
- Работник может просматривать, подтверждать/обновлять после завершения событий.
- Владелец практически аналогичен администратору. Возможно, не имеет права на удаление.
BTW, администратор и владелец могут быть одним и тем же человеком, если это будет проще. Я читал некоторые блоги, и некоторые из них упоминали об использовании подкласса AbstractUser и т.д. Однако, я все еще не чувствую достаточной ясности. Должен ли я создавать приложение под названием User, которое имеет три или четыре класса в этом model.py в приложении User?
Эти четыре класса будут "Класс Администратор", "Класс Владелец", "Класс Эмолоии", "Класс Работодатель"? Или как я должен это реализовать? Посоветуйте что-нибудь? Спасибо!
Вы можете использовать разрешения Django
Или вы можете добавить поле типа в вашу модель пользователя и назначить разрешения вашему представлению на основе типа пользователя, например:
if request.user.type == "employee":
return Response("Permission denied", status = 403)
теперь, если тип пользователя "сотрудник", он не будет иметь доступа к этому представлению