Приветсвую!
- - -
Сначала напишу примерный код того, что я хочу.
# ставим условие, что внутри контекста мы можем только читать MyModel,
# в остальных случаях работы с БД должна возникать ошибка
with permissions(MyModel, 'read'):
mm = MyModel.objects.get() # работает
mm.atribute = 123
mm.save() # ошибка, тк нет разрешения на запись
MyModel.objects.create() # ошибка, тк нет разрешения на создание
OtherModel.objects.get() # ошибка, тк другая модель
Проблема в том, что в моём проекте будет выполняться функция, содержание которой я не знаю.
Мне необходимо как-то подстраховаться.
Оставить ей права на доступ к паре таблиц, и ограничить доступ ко всем другим таблицам БД.
- - -
Я нашёл библиотеку решающую этот вопрос:
https://github.com/pgorecki/django-cancan
Но она совсем не популярна, боюсь интегрировать её в прод.
- - -
Если есть решение на базе прав Юзеров, то супер.
- - -
Спасибо!