Когда использовать Django Permissions? - PullRequest
0 голосов
/ 29 мая 2019

AFAIK, разрешения не фильтруют набор запросов.

Разрешения набора запросов Django

Итак, если мне нужно отфильтровать набор запросов и вернуть соответствующие записи, для чего нужны разрешения? Есть ли что-то, что разрешает фильтрация?

1 Ответ

0 голосов
/ 29 мая 2019

Позвольте мне привести пример, чтобы объяснить разницу в простой форме. Предположим, что вы хотите создать систему управления студентами, которая будет использоваться как учителями, так и студентами. Вы хотите реализовать веб-страницу со списком студентов. Но при этом вы хотите изменить два ограничения:

  1. Если вошедший в систему пользователь - студент, не показывайте учеников, так как это может нарушить конфиденциальность. Это может быть сделано с помощью встроенных разрешений Django.

  2. Если зарегистрированный пользователь является учителем, не перечисляйте всех студентов, а только тех, кто зарегистрирован на курс этого учителя. Это разрешение на уровне объекта, и Django не имеет встроенной библиотеки для этого. Вы можете реализовать эту логику самостоятельно или использовать библиотеки, такие как django-guardian.

...