Django Exceptions
Django core exception classes are defined in .
- exception
AppRegistryNotReady
[源代码] - This exception is raised when attempting to use models before the apploading process, which initializes the ORM, iscomplete.
ObjectDoesNotExist
- exception
ObjectDoesNotExist
[源代码] - The base class for
DoesNotExist
exceptions;atry/except
forObjectDoesNotExist
will catch exceptions for all models.
See get()
for further informationon and DoesNotExist
.
EmptyResultSet
- exception
EmptyResultSet
[源代码] EmptyResultSet
may be raised during query generation if a query won'treturn any results. Most Django projects won't encounter this exception,but it might be useful for implementing custom lookups and expressions.
FieldDoesNotExist
MultipleObjectsReturned
- exception
MultipleObjectsReturned
[源代码] - The
MultipleObjectsReturned
exception is raised by a query if onlyone object is expected, but multiple objects are returned. A base versionof this exception is provided in ; each modelclass contains a subclassed version that can be used to identify thespecific object type that has returned multiple objects.
See get()
for further information.
- exception
SuspiciousOperation
-
DisallowedHost
DisallowedModelAdminLookup
DisallowedModelAdminToField
DisallowedRedirect
InvalidSessionKey
RequestDataTooBig
SuspiciousFileOperation
SuspiciousSession
TooManyFieldsSent
If aSuspiciousOperation
exception reaches the WSGI handler level it islogged at theError
level and results ina . See the loggingdocumentation for more information.
PermissionDenied
- exception
PermissionDenied
[源代码] - The
PermissionDenied
exception is raised when a user does not havepermission to perform the action requested.
ViewDoesNotExist
- exception
ViewDoesNotExist
[源代码] - The
ViewDoesNotExist
exception is raised by when a requested view does not exist.
MiddlewareNotUsed
- exception
MiddlewareNotUsed
- The exception is raised when a middleware is notused in the server configuration.
ImproperlyConfigured
- exception
ImproperlyConfigured
- The exception is raised when Django issomehow improperly configured — for example, if a value in
settings.py
is incorrect or unparseable.
- exception
FieldError
[源代码] The
FieldError
exception is raised when there is a problem with amodel field. This can happen for several reasons:- A field in a model clashes with a field of the same name from anabstract base class
- An infinite loop is caused by ordering
- A keyword cannot be parsed from the filter parameters
- A field cannot be determined from a keyword in the queryparameters
- A join is not permitted on the specified field
- A field name is invalid
- A query contains invalid order_by arguments
ValidationError
- exception
ValidationError
[源代码]
NON_FIELD_ERRORS
NON_FIELD_ERRORS
ValidationError
s that don't belong to a particular field in a formor model are classified asNON_FIELD_ERRORS
. This constant is usedas a key in dictionaries that otherwise map fields to their respectivelist of errors.
URL Resolver exceptions
URL Resolver exceptions are defined in django.urls
.
Resolver404
- exception
Resolver404
[源代码] - The
Resolver404
exception is raised by if the path passed toresolve()
doesn'tmap to a view. It's a subclass ofdjango.http.Http404
.
NoReverseMatch
- exception [源代码]
- The
NoReverseMatch
exception is raised by when amatching URL in your URLconf cannot be identified based on the parameterssupplied.
Database exceptions may be imported from django.db
.
- exception
Error
[源代码] - exception
InterfaceError
[源代码] - exception
DatabaseError
[源代码] - exception
DataError
[源代码] - exception
OperationalError
[源代码] - exception
IntegrityError
[源代码] - exception
InternalError
[源代码] - exception
ProgrammingError
[源代码] - exception
NotSupportedError
[源代码] - The Django wrappers for database exceptions behave exactly the same asthe underlying database exceptions. See PEP 249, the Python Database APISpecification v2.0, for further information.
As per , a cause
attribute is set with the original(underlying) database exception, allowing access to any additionalinformation provided.
- exception
models.
ProtectedError
- Raised to prevent deletion of referenced objects when using.
models.ProtectedError
is a subclassof .
Http Exceptions
Http exceptions may be imported from django.http
.
UnreadablePostError
- exception
UnreadablePostError
[源代码] UnreadablePostError
is raised when a user cancels an upload.
Transaction exceptions are defined in django.db.transaction
.
- exception
TransactionManagementError
- is raised for any and all problemsrelated to database transactions.
Testing Framework Exceptions
RedirectCycleError
- exception
client.
RedirectCycleError
- is raised when the test client detects aloop or an overly long chain of redirects.
Django raises built-in Python exceptions when appropriate as well. See thePython documentation for further information on the Built-in Exceptions.