РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
59 of 818 menu

Метод get

Метод get применяется к QuerySet и возвращает одну запись, соответствующую переданным условиям. Если записей, удовлетворяющих условиям, нет, выбрасывается исключение DoesNotExist. Если найдено более одной записи, выбрасывается исключение MultipleObjectsReturned. Метод полезен, когда требуется получить конкретный объект по уникальному полю, например, по первичному ключу.

Синтаксис

Model.objects.get(**conditions)

Пример

Давайте получим статью с идентификатором 1:

from myapp.models import Article article = Article.objects.get(id=1) print(article.title)

Результат выполнения кода:

"Первая статья"

Пример

Давайте получим статью по заголовку (уникальное поле):

from myapp.models import Article article = Article.objects.get(title="Django Basics") print(article.id, article.status)

Результат выполнения кода:

"5 published"

Пример

Давайте получим статью по двум условиям:

from myapp.models import Article article = Article.objects.get( status='published', category__name='Python' ) print(article.title)

Результат выполнения кода:

"Работа с методами QuerySet"

Обработка исключений

Важно обрабатывать исключения, так как метод get может их выбрасывать:

from myapp.models import Article from django.core.exceptions import ObjectDoesNotExist try: article = Article.objects.get(id=999) print(article.title) except ObjectDoesNotExist: print("Статья не найдена")

Результат выполнения кода:

"Статья не найдена"

Смотрите также

  • метод filter,
    который возвращает все записи, соответствующие условиям
  • метод exclude,
    который исключает записи из QuerySet
  • метод first,
    который возвращает первый объект из QuerySet
  • метод last,
    который возвращает последний объект из QuerySet
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить