Model class reference
This document covers features of the Model class. For more information about models, see the complete list of Model reference guides.
Attributes
DoesNotExist
exception Model.DoesNotExist
This exception is raised by the ORM when an expected object is not found. For example, 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 django.core.exceptions.ObjectDoesNotExist.
MultipleObjectsReturned
exception Model.MultipleObjectsReturned
This exception is raised by 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 django.core.exceptions.MultipleObjectsReturned.
objects
Model.objects
Each non-abstract Model class must have a 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 Manager instance. If you add your own 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 Managers and Retrieving objects.