Справочник класса Model¶
Данный документ рассматривает возможности класса Model. Для получения дополнительной информации о моделях обратитесь к полному списку руководств по 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.
Необновлено¶
- exception Model.NotUpdated¶
Это исключение возникает, когда принудительное обновление экземпляра
Modelне влияет ни на какие строки.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()
Подробности о менеджерах моделей смотрите в :Менеджеры </topics/db/managers> и Выборка retrieving.