Limit Django UpdateПросмотреть автору - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть UpdateView в Django, который мне нужно ограничить только автором. У меня возникли проблемы при получении автора от запроса.

class MyPermissionMixin(LoginRequiredMixin, UserPassesTestMixin):
    def dispatch(self, request, *args, **kwargs):
        user_test_result = self.get_test_func()()
        if request.user != ????.user:                 #How do I grab the user('Author')??
            return self.handle_no_permission()
        return super().dispatch(request, *args, **kwargs)

1 Ответ

0 голосов
/ 17 апреля 2020

Получить пользователя экземпляра Autor через self.get_object()

class MyPermissionMixin(object):

    def dispatch(self, request, *args, **kwargs):
            if request.user != self.get_object().author:         
                return HttpResponseForbidden()

             return super().dispatch(request, *args, **kwargs)
...