@flexpc

Обработка исключений Django?

Существует запрос к БД, который может выполниться с ошибкой (Запрос соответствия статьи не существует.). Чисто логически, я бы мог использовать try except, но тогда будут ловиться все исключения, НО исключений может быть много (и например для каждого исключения свой ответ от сервера). Тогда как мне обработать конкретно это исключение (Запрос соответствия статьи не существует.), а не все которые могут произойти при запросе к БД?
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Понятия не имею, что в вашем случае означает "Запрос соответствия статьи не существует", но обычно Django ORM выбрасывает исключение DoesNotExist, если в БД не нашлось нужных данных.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
CodeNull
@CodeNull
Привет. Есть несколько способов обработать типовые исключения:
  1. Написать декоратор для обработки исключений и применять его к каждой вьюхе (для cbv и функциональных вьюх нужны разные декораторы). Разобрано здесь: https://youtu.be/4qQDFt4EXdk
  2. Создать middleware для обработки исключений.
  3. Если ты используешь DRF воспользуйся custom_exception_handler
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы