@mrkovalchuk
Junior developer

Как задать permission для собственного метода?

Добра, сообщество.

Есть два метода:
def list(self, request, *args, **kwargs):
        pass

def manager_objects(self, request, *args, **kwargs):
        pass


Оба эти метода вызываются GET-ом
url('^objects/(?P<user_id>\d+)$', MySuperView.as_view({'get': 'manager_objects'}), name='get_my_objects')
url(r'^all_objects/$', MySuperView.as_view({'get': 'list'})),


Нужен разный permission на каждый из них. IsAuthenticated на all_objects и AllowAny на all_objects. Как это сделать - понятия не имею. Знаю, как разбить по http-методам, POST, GETи т.п, а вот как в рамках одного метода - хз.

Имена и переменные изменены, любое совпадение - случайно.
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 1
Assargin
@Assargin
Перед ответом смотрю наличие ✔ в ваших вопросах
В вашем особом случае можно применить декорирование прям в urls.py, как показано вот здесь, только декоратором будет permission_required

Но вообще, такой подход - запихать всё в одну вьюху и какую-то логику вынести в urls.py - забраковал бы :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы