0Pricing
Django Academy · Урок

all(), get() и filter()

Основные способы получения объектов

«all(), get() и filter()» — бесплатный урок Django Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Django Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Django Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Meet the Manager

Every model gives you a free objects manager. It is your front door to the database, and every query you write starts from it. 🚪

Book.objects

Grab Everything

Call all() to ask for every row in the table. You get back a QuerySet you can loop over, count, or refine further.

books = Book.objects.all()

A QuerySet Is Not a List

A QuerySet looks list-like but it is lazy. Django waits to hit the database until you actually use the results.

Fetch Exactly One

Use get() when you expect a single matching row, like one record found by its primary key.

book = Book.objects.get(pk=1)

When get() Fails

get() is strict. If nothing matches it raises DoesNotExist, so reach for it only when you are sure one row exists.

Book.objects.get(pk=999)

Too Many Matches

If get() finds more than one row, it raises MultipleObjectsReturned. It truly means one and only one.

Filter for a Subset

Reach for filter() when you want the rows that match a condition. It returns a QuerySet, even if only one row matches.

Book.objects.filter(published=True)

Filter Returns Zero or More

Unlike get(), filter() never raises when nothing matches. You simply get an empty QuerySet back instead of an error.

Book.objects.filter(author="Nobody")

Multiple Conditions

Pass several keyword arguments to filter() and Django joins them with AND. Every condition must be true.

Book.objects.filter(published=True, year=2024)

get vs filter at a Glance

Use get() for one guaranteed object and filter() for a collection. That single choice avoids most beginner query bugs.

Chain Your Filters

Because filter() returns a QuerySet, you can chain calls to narrow results step by step before the database is touched.

Book.objects.filter(published=True).filter(year=2024)

Quick Check

You expect a single book and there is no match. Which call raises an error?

Recap

Nice work! all() grabs everything, get() fetches one exact row, and filter() returns a subset you can chain. 🎉

Часто задаваемые вопросы

Урок «all(), get() и filter()» бесплатный?

Да — полный текст урока «all(), get() и filter()» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Django Academy, подпишись на CoddyKit PRO. Курс Django Academy содержит 4 уроков всего.

Чему я научусь в уроке «all(), get() и filter()»?

Основные способы получения объектов Ты практикуешь Django Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Django Academy?

Предыдущий опыт не требуется. Django Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «all(), get() и filter()»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Django Academy?

Да. Каждый урок Django Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. all(), get() и filter()
  2. Поиск по полям и exclude()
  3. order_by, срезы и ленивая обработка
  4. values, values_list и count
← Назад к Django Academy