Никакое. По вашему любой кусок кода должен вызывать DoesNotExist? :) Вызываемые исключение это, как бы, часть интерфейса как и методы, принимаемые аргументы, они не появляются из воздуха, если метод has_perm
явно не вызывает DoesNotExist, то никак оно не появится из-за отсутствия прав у юзера. Вообще этот метод возвращает True
или False
и не стоит извращаться с исключениями т.к. проще проверки if user.has_perm('errors_in_the_studio.add_errors')
ничего быть не может.
RequestContext.DoesNotExist
это вообще что такое? DoesNotExist явно в модель добавляется, он не в каждом классе присутствует :)
Почитайте лучше про исключения в python. Это не секретная наработка Django. Так что просто разберитесь как работают исключения в Python и все будет понятно.
И когда упоминаете про ошибку, приводите трейсбек, а то понятие "работать перестало" растяжимое. У вас там наверное AtributeError вылез.