模型类参考

本文档涵盖了 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 的一个子类。

objects

Model.objects

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

  1. from django.db import models
  2. class Person(models.Model):
  3. # Add manager with another name
  4. people = models.Manager()

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