Класс Model


Этот документ охватывает особенности класса Model. Для получения дополнительной информации о моделях см . полный список справочников для Model.

Атрибуты

DoesNotExist
exception Model.DoesNotExist
Это исключение вызывается ORM, когда ожидаемый объект не найден. Например, QuerySet.get() вызовет его, если для заданного поиска не будет найден ни один объект.

Django предоставляет исключение DoesNotExist в качестве атрибута каждого класса модели для определения класса объекта, который не может быть найден, что позволяет перехватывать исключения для определенного класса модели. Исключение составляет подкласс django.core.exceptions.ObjectDoesNotExist.

MultipleObjectsReturned
exception Model.MultipleObjectsReturned
Это исключение вызывается QuerySet.get(), когда для заданных поисков найдено несколько объектов.

Django предоставляет исключение MultipleObjectsReturned в качестве атрибута каждого класса модели, чтобы определить класс объекта, для которого было найдено несколько объектов, что позволяет перехватывать исключения для определенного класса модели. Исключение составляет подкласс: exc: 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()
Для получения более подробной информации о менеджерах моделей смотрите Менеджеры и Получение объектов.