Метод проектирования Django для нескольких групп пользователей

У меня есть проект для компании по предоставлению услуг по подбору персонала, который имеет по крайней мере четыре группы пользователей (администратор, работодатели, сотрудники и владелец компании по предоставлению услуг по подбору персонала). Каждая из них имеет следующие функции:

  1. Админ может делать все.
  2. Работодатель может публиковать, обновлять, просматривать вакансии/события. (не может удалить без разрешения администратора).
  3. .
  4. Работник может просматривать, подтверждать/обновлять после завершения событий.
  5. Владелец практически аналогичен администратору. Возможно, не имеет права на удаление.

BTW, администратор и владелец могут быть одним и тем же человеком, если это будет проще. Я читал некоторые блоги, и некоторые из них упоминали об использовании подкласса AbstractUser и т.д. Однако, я все еще не чувствую достаточной ясности. Должен ли я создавать приложение под названием User, которое имеет три или четыре класса в этом model.py в приложении User?

Эти четыре класса будут "Класс Администратор", "Класс Владелец", "Класс Эмолоии", "Класс Работодатель"? Или как я должен это реализовать? Посоветуйте что-нибудь? Спасибо!

Вы можете использовать разрешения Django

Или вы можете добавить поле типа в вашу модель пользователя и назначить разрешения вашему представлению на основе типа пользователя, например:

if request.user.type == "employee":
    return Response("Permission denied", status = 403)

теперь, если тип пользователя "сотрудник", он не будет иметь доступа к этому представлению

Вернуться на верх