Джанго Предоставить разрешение объектам с внешним ключом - PullRequest
0 голосов
/ 18 октября 2019

У меня есть модель Image с внешним ключом Album. User может иметь права на редактирование или чтение только для Album. Как пользователи с правами редактирования Album также могут редактировать Images в соответствии с этим Album?

Есть ли в Django простой способ предоставления пользователю прав доступа к объектам внешнего ключа?

1 Ответ

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

Из вашего комментария я понимаю, что вы используете django-guardian. Одним из вариантов может быть определение функции, как описано ниже (или, возможно, как функция класса Album?)

from guardian.shortcuts import assign_perm

def update_album_permission(album, user, permission):
    assign_perm(permission + '_album', user, album)
    for image in album.images.all():
        assign_perm(permission + '_image', user, image)

Тогда вам необходимо будет всегда обновлять разрешения пользователя через этот интерфейс.

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