本文档包含 Model
类。有关模型的详细信息,请参见 the complete list of Model reference guides .
DoesNotExist
¶当找不到预期对象时,ORM会引发此异常。例如, QuerySet.get()
当对于给定的查找没有找到对象时,将引发它。
Django提供了 DoesNotExist
异常作为每个模型类的属性,用于标识找不到的对象类,允许您捕获特定模型类的异常。异常是的一个子集 django.core.exceptions.ObjectDoesNotExist
。
MultipleObjectsReturned
¶此例外由以下人员提出 QuerySet.get()
当为给定查找找到多个对象时。
Django提供了 MultipleObjectsReturned
异常作为每个模型类的属性,以标识为其找到多个对象的对象类,允许您捕获特定模型类的异常。异常是的一个子集 django.core.exceptions.MultipleObjectsReturned
。
NotUpdated
¶当出现这种异常时 a forced update 的 Model
实例不影响任何行。
Django提供了 NotUpdated
异常作为每个模型类的属性,用于标识无法更新的对象类,允许您捕获特定模型类的异常。异常是的一个子集 django.core.exceptions.ObjectNotUpdated
并继承自 django.db.DatabaseError
出于向后兼容性原因。
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()
有关模型管理器的更多详细信息,请参见 Managers 和 Retrieving objects .
5月 28, 2025