---
title: "模型类参考"
version: 6.1
locale: zh-hans
source: https://docs.djangoproject.com/zh-hans/6.1/ref/models/class/
canonical: https://djangodocs.dev/zh-hans/6.1/ref/models/class/
---
# 模型类参考

本文档涵盖了 [`Model`](/zh-hans/6.1/ref/models/instances/#django.db.models.Model) 类的功能。关于模型的更多信息，请参见 [模型参考指南的完整列表](/zh-hans/6.1/ref/models/)。

## 属性

### `DoesNotExist`

#### `exception Model.DoesNotExist`

当没有找到预期的对象时，ORM 会引发这个异常。例如， [`QuerySet.get()`](/zh-hans/6.1/ref/models/querysets/#django.db.models.query.QuerySet.get) 将在没有找到给定查找对象时引发该异常。

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

### `MultipleObjectsReturned`

#### `exception Model.MultipleObjectsReturned`

当给定的查找找到多个对象时， [`QuerySet.get()`](/zh-hans/6.1/ref/models/querysets/#django.db.models.query.QuerySet.get) 会引发这个异常。

Django 提供了一个 `MultipleObjectsReturned` 的异常作为每个模型类的属性，用于识别发现多个对象的对象类，允许你为某个模型类捕捉异常。该异常是 [`django.core.exceptions.MultipleObjectsReturned`](/zh-hans/6.1/ref/exceptions/#django.core.exceptions.MultipleObjectsReturned) 的一个子类。

### `NotUpdated`

> **New in Django 6.0**

#### `exception Model.NotUpdated`

This exception is raised when [a forced update](/zh-hans/6.1/ref/models/instances/#ref-models-force-insert) of a [`Model`](/zh-hans/6.1/ref/models/instances/#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 [`django.core.exceptions.ObjectNotUpdated`](/zh-hans/6.1/ref/exceptions/#django.core.exceptions.ObjectNotUpdated) and inherits
from [`django.db.DatabaseError`](/zh-hans/6.1/ref/exceptions/#django.db.DatabaseError) for backward compatibility reasons.

### `objects`

#### `Model.objects`

每个非抽象的 [`Model`](/zh-hans/6.1/ref/models/instances/#django.db.models.Model) 类必须有一个 [`Manager`](/zh-hans/6.1/topics/db/managers/#django.db.models.Manager) 实例添加到其中。Django 确保在你的模型类中至少指定了一个默认的 `Manager`。如果你没有添加自己的 `Manager`，Django 会添加一个属性 `objects`，包含默认的 [`Manager`](/zh-hans/6.1/topics/db/managers/#django.db.models.Manager) 实例。如果添加自己的 [`Manager`](/zh-hans/6.1/topics/db/managers/#django.db.models.Manager) 实例属性，则不会出现默认的。考虑下面的例子：

```
from django.db import models

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

关于模型管理器的更多细节，请参见 [管理器](/zh-hans/6.1/topics/db/managers/) 和 [检索对象](/zh-hans/6.1/topics/db/queries/#retrieving-objects)。
