# Documentation Django 5.2.8

# Référence de la classe Model

Ce document présente les fonctionnalités de la classe `Model`. Pour plus d’informations à propos des modèles, consultez la liste complète des guides de référence des modèles.

## Attributs

### `DoesNotExist`

exception Model.DoesNotExist

  Cette exception est produite par l’ORM lorsqu’un objet n’a pas été trouvé Par exemple, `QuerySet.get()` génère cette exception lorsqu’aucun objet ne correspond aux paramètres de requête indiqués.

  Django fournit une exception `DoesNotExist` comme attribut de chaque classe de modèle afin d’identifier la classe de l’objet qui n’a pas pu être trouvé, ce qui permet d’intercepter les exceptions spécifiques à une classe de modèle particulière. Cette exception est une sous-classe de `django.core.exceptions.ObjectDoesNotExist`.

### `MultipleObjectsReturned`

exception Model.MultipleObjectsReturned

  Cette exception est produite par `QuerySet.get()` lorsque plusieurs objets correspondent aux paramètres de requête indiqués.

  Django fournit une exception `MultipleObjectsReturned` comme attribut de chaque classe de modèle afin d’identifier la classe d’objet pour laquelle plusieurs objets on été trouvés, ce qui permet d’intercepter les exceptions spécifiques à une classe de modèle particulière. Cette exception est une sous-classe de `django.core.exceptions.MultipleObjectsReturned`.

### `NotUpdated`

New in Django 6.0.

exception Model.NotUpdated

  This exception is raised when a forced update of a `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 `django.core.exceptions.ObjectNotUpdated` and inherits from `django.db.DatabaseError` for backward compatibility reasons.

### `objects`

Model.objects

  Chaque classe non abstraite `Model` doit recevoir une instance de `Manager`. Django s’assure que dans vos classes de modèles, chaque modèle dispose au moins d’un gestionnaire `Manager` par défaut. Si vous n’ajoutez pas vous-même un gestionnaire, Django ajoute un attribut `objects` contenant une instance par défaut de `Manager`. Si vous ajoutez vous-même un attribut contenant une instance de `Manager`, l’instance par défaut n’est pas ajoutée. Considérez l’exemple suivant :

      from django.db import models

      class Person(models.Model):
          # Add manager with another name
          people = models.Manager()

  Pour plus de détails sur les gestionnaires de modèles, consultez Gestionnaires et Sélection d’objets.