Django 异常¶
Django 提供了一些 Django 特定的异常以及许多 Python 异常。
Django 特定异常¶
ObjectDoesNotExist 和 DoesNotExist¶
-
exception
DoesNotExist¶
-
exception
ObjectDoesNotExist¶ DoesNotExist当一个给定参数的查询未能发现对象时抛出该异常。ObjectDoesNotExist定义在django.core.exceptions中。DoesNotExist是基类ObjectDoesNotExist异常的子类, 用于提供对每一个模型类作为一种识别对象未能发现的特定类型的一种方式。请查看
get()获取ObjectDoesNotExist和DoesNotExist的更多信息。
MultipleObjectsReturned¶
-
exception
MultipleObjectsReturned¶ MultipleObjectsReturned当预期仅返回一个对象的查询确返回多个是抛出的异常。 该异常的基础版本由django.core.exceptions提供;每个模型类都 包含一个子类版本用于识别返回多个对象的特定对象类型。请查看
get()获取更多信息。
SuspiciousOperation¶
-
exception
SuspiciousOperation¶ SuspiciousOperation当用户执行的操作,从安全的角度来看被视为可疑时抛出的异常,例如篡改一个会话 cookie 。
PermissionDenied¶
-
exception
PermissionDenied¶ PermissionDenied当用户没有权限来执行所请求的操作时抛出的异常。
ViewDoesNotExist¶
-
exception
ViewDoesNotExist¶ ViewDoesNotExist当一个请求的视图不存在时由django.core.urlresolvers抛出的异常。
MiddlewareNotUsed¶
-
exception
MiddlewareNotUsed¶ MiddlewareNotUsed当一个中间件在当前服务器配置中不能使用时抛出的异常。
ImproperlyConfigured¶
-
exception
ImproperlyConfigured¶ ImproperlyConfigured当 Django 的某种配置错误时抛出的异常 – 例如settings.py中的值错误或不可解析。
FieldError¶
-
exception
FieldError¶ FieldError当一个模型字段有问题是抛出的异常。 发生这种情况的原因有几个:- 模型类中的字段名与抽象基类中的字段名相同而发生冲突
- 一个由排序造成的无限循环
- 一个关键字不能从过滤参数解析
- A field cannot be determined from a keyword in the query parameters
- A join is not permitted on the specified field
- 字段名无效
- 一个查询包含无效排序参数
ValidationError¶
-
exception
ValidationError¶ The
ValidationErrorexception is raised when data fails form or model field validation. For more information about validation, see Form and Field Validation, Model Field Validation and the Validator Reference.
NoReverseMatch¶
-
exception
NoReverseMatch¶ The
NoReverseMatchexception is raised bydjango.core.urlresolverswhen a matching URL in your URLconf cannot be identified based on the parameters supplied.
Database Exceptions¶
Django wraps the standard database exceptions DatabaseError and
IntegrityError so that your Django code has a guaranteed common
implementation of these classes. These database exceptions are
provided in django.db.
-
exception
DatabaseError¶
-
exception
IntegrityError¶
The Django wrappers for database exceptions behave exactly the same as the underlying database exceptions. See PEP 249, the Python Database API Specification v2.0, for further information.
-
exception
models.ProtectedError¶
Raised to prevent deletion of referenced objects when using
django.db.models.PROTECT. Subclass of IntegrityError.
Http Exceptions¶
-
exception
UnreadablePostError¶ The
UnreadablePostErroris raised when a user cancels an upload. It is available fromdjango.http.
Transaction Exceptions¶
-
exception
TransactionManagementError¶ The
TransactionManagementErroris raised for any and all problems related to database transactions. It is available fromdjango.db.transaction.
Python Exceptions¶
Django raises built-in Python exceptions when appropriate as well. See the
Python documentation for further information on the
built-in exceptions.