Ссылка на класс модели

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

Атрибуты

DoesNotExist

исключение Model.DoesNotExist

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

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

MultipleObjectsReturned

исключение 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()

Дополнительные сведения о менеджерах моделей см. В разделах «Менеджеры» и « Получение объектов» .

Copyright ©2021 All rights reserved