Вступить в клуб →
средняяpythonPostgreSQL, ORM и оптимизация запросов

Страница выдачи с курсором вместо OFFSET

Курсорная (keyset) пагинация отдаёт следующую страницу не по номеру, а «после последнего показанного id». Смоделируйте её на списке.

Напишите функцию next_page(rows, after_id, limit).

  • rows — список словарей с полем id, отсортирован по возрастанию id.
  • Верните словарь {"items": [...], "next_after": ...}.
  • В items — первые limit записей с id строго больше after_id. Если after_id равен None — с начала списка.
  • next_after — id последней записи в items, если после неё есть ещё записи, иначе None.

заготовка решения

def next_page(rows, after_id, limit):
    # ваш код
    return None

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела