• 3.1
  • 5.0
  • 6.1
  • Версия документации: 3.2

Справочник класса 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.

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.

Back to Top