Django вызывает несколько собственных исключений на ряду со стандартными исключениями Python.
Исключение DoesNotExist вызывается, если объект не найден при использовании параметров, указанных в запросе.
Исключение ObjectDoesNotExist определено в модуле django.core.exceptions. Класс DoesNotExist является подклассном базового исключения ObjectDoesNotExist, которое предоставляется каждым классом модели в качестве способа индикации объекта особого типа, который не может быть найден.
См. get() для подробной информации об исключениях ObjectDoesNotExist и DoesNotExist.
Исключение MultipleObjectsReturned вызывается запросом при получении нескольких объектов в случае, когда ожидался один объект. Базовая версия этого исключения предоставляется модулем django.core.exceptions; каждый класс модели содержит версию подкласса, которая может использоваться для идентификации особого объектного типа, который возвратил коллекцию объектов.
См. get() для подробной информации.
Исключение SuspiciousOperation вызывается когда пользователь выполнил операцию, которая должна быть рассмотрена как подозрительная с точки зрения безопасности, например, при подмене куки сессии.
Исключение PermissionDenied вызывается если пользователь не имеет права на выполнение запрошенного действия.
Исключение ViewDoesNotExist вызывается модулем django.core.urlresolvers, если запрошенное представление на найдено.
Исключение MiddlewareNotUsed вызывается, если мидлварь не не используется в конфигурации сервера.
Исключение ImproperlyConfigured вызывается, если Django неправильно сконфигурировано. Например, если значение в settings.py неправильное.
Исключение FieldError вызывается, если существует проблема с полем модели. Такое может произойти по следующим причинам:
Поле в модели конфликтует с полем абстрактного класса, которое имеет такое же имя.
Бесконечный цикл, вызванный сортировкой.
Аргумент не может быть получен из параметров фильтра.
Поле не может быть определено из аргумента в параметрах запроса.
Объединение не разрешено для указанного поля.
Имя поля неверное.
Запрос состоит из неверного порядка аргументов.
Исключение ValidationError вызывается, если происходит ошибка проверки данных от формы или модели. Для подробностей о проверке данных, см. Проверка форми и полей, Проверка поля модели и the Справочник проверки.
Исключение NoReverseMatch вызывается модулем django.core.urlresolvers, если не получилось найти соответствующий URL по переданным параметрам.
Django оборачивает стандартные исключения базы данных DatabaseError и IntegrityError таким образом, что код Django гарантирует стандартную реализацию этих классов. Эти исключения базы данных предоставляют модулем django.db.
Обёртка Django для исключений базы данных ведёт себя аналогично обёртываемым исключениям. См. PEP 249, вторую версию Python Database API Specification, для подробностей.
Исключение TransactionManagementError вызывается для всех проблем с транзакциями в базе данных. Оно доступно из модуля django.db.transaction.
Django вызывает встроенные исключения Python когда это требуется. Обратитесь к документации Python для получения более подробной информации о exceptions.
Mar 30, 2016