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;a try/except for ObjectDoesNotExist 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

    • exception 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 a SuspiciousOperation exception reaches the WSGI handler level it islogged at the Error 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

    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.pyis 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

    NON_FIELD_ERRORS

    • NON_FIELD_ERRORS
    • ValidationErrors that don't belong to a particular field in a formor model are classified as NON_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

    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.

    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

    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.