Как изменить права администратора django в зависимости от значения поля? - PullRequest
0 голосов
/ 28 октября 2019

У меня есть модель, в которой профессор принадлежит к определенному отделу

Class Professor(models.Model):
  name=models.CharField(max_length=50)
  code=models.CharField(max_length=9)
  dept=models.ForeignKey('Department', on_delete=models.CASCADE)

Где модель для кафедры - это просто название, на которое указывают несколько профессоров.

Будет лиспособ установить просмотр или редактировать разрешения в зависимости от значения названия отдела? Скажем, если я хочу, чтобы профессора, принадлежащие к отделу А, могли редактировать только люди с разрешениями на А, а профессора, принадлежащие к отделу В, чтобы их могли редактировать люди с разрешениями на В и т. Д., Как бы это можно было реализовать вадминистратор?

Редактировать: я просмотрел документы django и не вижу никаких признаков того, можно ли вообще изменять разрешения администратора на основе полей любой модели (без назначения им пользователя вручную при созданииобъект), я был бы признателен, если бы мне даже дали общий обзор того, как это можно сделать, или чтобы узнать, почему это невозможно.

1 Ответ

0 голосов
/ 31 октября 2019

Рекомендуется прочитать:

https://realpython.com/manage-users-in-django-admin/

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...