Spec-Zone.ru › Django 6.0

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

NotUpdated

Добавлено в Django 6.0.
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()

Подробнее о диспетчерах моделей см. в разделах Диспетчеры и Получение объектов.

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/6.0/ref/models/class/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API