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

Метод first

Метод first применяется к QuerySet и возвращает первый объект из набора записей, отсортированный по первичному ключу или указанной сортировке. Если QuerySet пуст, метод возвращает None. Это удобный способ быстро получить одну запись без необходимости использовать индексацию или проверять наличие элементов.

Синтаксис

Model.objects.first()

Метод может быть вызван как на менеджере модели, так и на любом существующем QuerySet:

# На менеджере модели first_article = Article.objects.first() # На отфильтрованном QuerySet first_published = Article.objects.filter(status='published').first()

Пример

Получим первую статью из базы данных:

from myapp.models import Article first_article = Article.objects.first() if first_article: print(first_article.title) else: print("No articles found")

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

"First article title"

Пример

Получим первую опубликованную статью, отсортированную по дате создания в порядке убывания:

from myapp.models import Article first_published = Article.objects.filter( status='published' ).order_by('-created_at').first() if first_published: print(f"Latest published: {first_published.title}")

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

"Latest published: Newest article"

Пример

Используем метод first в паре с values для получения первого словаря из QuerySet:

from myapp.models import Article first_article_data = Article.objects.values( 'title', 'status', 'created_at' ).first() if first_article_data: print(first_article_data)

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

{'title': 'First article', 'status': 'draft', 'created_at': datetime.datetime(2025, 1, 1, 12, 0)}

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

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