0Pricing
Flask Academy · Урок

Фильтрация, сортировка и ограничение результатов

Используйте filter_by, order_by и разбиение на страницы.

«Фильтрация, сортировка и ограничение результатов» — бесплатный урок Flask Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Flask Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Flask Academy содержит 4 уроков всего.

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

Narrow Results with filter_by

Use filter_by() with keyword arguments to keep only rows that match a column exactly. It reads almost like English. 🎯

admins = User.query.filter_by(role="admin").all()

More Power with filter

When you need comparisons, reach for filter() and full column expressions instead of plain equality.

adults = User.query.filter(User.age >= 18).all()

Combine Conditions

Pass several expressions to filter() and they join with AND, so every condition must hold for a row to match.

q = User.query.filter(User.age >= 18, User.active == True)

OR Conditions

For an either-or match, wrap conditions in or_() so a row qualifies when any one of them is true.

from sqlalchemy import or_
q = User.query.filter(or_(User.age < 18, User.vip))

Sort with order_by

Use order_by() to sort results by a column. By default rows come back in ascending order.

users = User.query.order_by(User.name).all()

Newest First with desc

Wrap a column in desc() to flip the sort and put the largest or latest values at the top.

posts = Post.query.order_by(Post.created.desc()).all()

Cap the Count with limit

Add limit() to fetch only the first N rows. It keeps responses small and queries fast.

top = Post.query.order_by(Post.score.desc()).limit(5).all()

Skip Rows with offset

Use offset() to skip a number of rows before returning. Combined with limit, it gives you simple paging.

page2 = Post.query.limit(10).offset(10).all()

Real Pagination with paginate

Flask-SQLAlchemy bundles paging into paginate(), which returns items plus handy page metadata in one call.

p = Post.query.paginate(page=2, per_page=10)

Chain It All Together

Filter, order, and limit chain fluently, and nothing runs until you finish with all or first.

q = Post.query.filter_by(public=True).order_by(Post.id.desc()).limit(3)

Order Matters for Limits

Always pair limit() with order_by. Without a sort, which rows you get back is unpredictable.

Quick Check

You want the three highest-scoring posts. Which clause makes the score the top result?

Recap: Shaping Results

You can now filter, sort with order_by and desc, and trim output with limit, offset, and paginate. Powerful reads unlocked! 🚀

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

Урок «Фильтрация, сортировка и ограничение результатов» бесплатный?

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

Чему я научусь в уроке «Фильтрация, сортировка и ограничение результатов»?

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

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

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

Сколько времени занимает урок «Фильтрация, сортировка и ограничение результатов»?

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

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

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

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

  1. Получение строк с помощью query и get
  2. Фильтрация, сортировка и ограничение результатов
  3. Определение связей и внешних ключей
  4. Объединения и ленивая или жадная загрузка
← Назад к Flask Academy