1
0
mirror of https://github.com/django/django.git synced 2025-09-17 22:49:35 +00:00
django/docs/ref/models/class.txt
David Smith f81e6e3a53 Refs #36485 -- Rewrapped docs to 79 columns line length.
Lines in the docs files were manually adjusted to conform to the
79 columns limit per line (plus newline), improving readability and
consistency across the content.
2025-08-25 10:51:10 -03:00

82 lines
2.9 KiB
Plaintext

=====================
Model class reference
=====================
.. currentmodule:: django.db.models
This document covers features of the :class:`~django.db.models.Model` class.
For more information about models, see :doc:`the complete list of Model
reference guides </ref/models/index>`.
Attributes
==========
``DoesNotExist``
----------------
.. exception:: Model.DoesNotExist
This exception is raised by the ORM when an expected object is not found.
For example, :meth:`.QuerySet.get` will raise it when no object is found
for the given lookups.
Django provides a ``DoesNotExist`` exception as an attribute of each model
class to identify the class of object that could not be found, allowing you
to catch exceptions for a particular model class. The exception is a
subclass of :exc:`django.core.exceptions.ObjectDoesNotExist`.
``MultipleObjectsReturned``
---------------------------
.. exception:: Model.MultipleObjectsReturned
This exception is raised by :meth:`.QuerySet.get` when multiple objects are
found for the given lookups.
Django provides a ``MultipleObjectsReturned`` exception as an attribute of
each model class to identify the class of object for which multiple objects
were found, allowing you to catch exceptions for a particular model class.
The exception is a subclass of
:exc:`django.core.exceptions.MultipleObjectsReturned`.
``NotUpdated``
--------------
.. versionadded:: 6.0
.. exception:: Model.NotUpdated
This exception is raised when :ref:`a forced update
<ref-models-force-insert>` of a :class:`~django.db.models.Model` instance
does not affect any rows.
Django provides a ``NotUpdated`` exception as an attribute of each model
class to identify the class of object that could not be updated, allowing
you to catch exceptions for a particular model class. The exception is a
subclass of :exc:`django.core.exceptions.ObjectNotUpdated` and inherits
from :exc:`django.db.DatabaseError` for backward compatibility reasons.
``objects``
-----------
.. attribute:: Model.objects
Each non-abstract :class:`~django.db.models.Model` class must have a
:class:`~django.db.models.Manager` instance added to it.
Django ensures that in your model class you have at least a
default ``Manager`` specified. If you don't add your own ``Manager``,
Django will add an attribute ``objects`` containing default
:class:`~django.db.models.Manager` instance. If you add your own
:class:`~django.db.models.Manager` instance attribute, the default one does
not appear. Consider the following example::
from django.db import models
class Person(models.Model):
# Add manager with another name
people = models.Manager()
For more details on model managers see :doc:`Managers
</topics/db/managers>` and :ref:`Retrieving objects <retrieving-objects>`.