# Django 5.2.8 documentation

# 模型类参考

本文档涵盖了 `Model` 类的功能。关于模型的更多信息，请参见 模型参考指南的完整列表。

## 属性

### `DoesNotExist`

exception Model.DoesNotExist

  当没有找到预期的对象时，ORM 会引发这个异常。例如， `QuerySet.get()` 将在没有找到给定查找对象时引发该异常。

  Django 提供了一个 `DoesNotExist` 的异常作为每个模型类的属性，用来标识找不到的对象类，允许你为某个模型类捕捉异常。该异常是 `django.core.exceptions.ObjectDoesNotExist` 的一个子类。

### `MultipleObjectsReturned`

exception Model.MultipleObjectsReturned

  当给定的查找找到多个对象时， `QuerySet.get()` 会引发这个异常。

  Django 提供了一个 `MultipleObjectsReturned` 的异常作为每个模型类的属性，用于识别发现多个对象的对象类，允许你为某个模型类捕捉异常。该异常是 `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

  每个非抽象的 `Model` 类必须有一个 `Manager` 实例添加到其中。Django 确保在你的模型类中至少指定了一个默认的 `Manager`。如果你没有添加自己的 `Manager`，Django 会添加一个属性 `objects`，包含默认的 `Manager` 实例。如果添加自己的 `Manager` 实例属性，则不会出现默认的。考虑下面的例子：

      from django.db import models

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

  关于模型管理器的更多细节，请参见 管理器 和 检索对象。