模型类引用

本文档包含 Model 类。有关模型的详细信息,请参见 the complete list of Model reference guides .

属性

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 Development version.
exception Model.NotUpdated

当出现这种异常时 a forced updateModel 实例不影响任何行。

Django提供了 NotUpdated 异常作为每个模型类的属性,用于标识无法更新的对象类,允许您捕获特定模型类的异常。异常是的一个子集 django.core.exceptions.ObjectNotUpdated 并继承自 django.db.DatabaseError 出于向后兼容性原因。

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()

有关模型管理器的更多详细信息,请参见 ManagersRetrieving objects .