nixbox
@nixbox

Как получить записи из разных таблиц, отсортированных по дате, с пагинацией?

Привет.

Проект на Flask + SqlAlchemy.

Есть пара десятков однотипных таблиц, из которых нужно отдавать последние записи, отсортированных по дате.
Т.е. итоге чтобы получился "таймлайн" записей из разных таблиц.
Таблицы не связанны между собой.

И как можно реализовать пагинацию для такой функции?
(Необходимо получать эти записи по запросу, например по 10 штук, подтягиваю на фронт ajax'ом)

Не могу понять как это реализовать.

Большое спасибо!
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
# the first subquery, select all ids from SOME_TABLE where some_field is not NULL
s1 = select([SOME_TABLE.c.id]).where(SOME_TABLE.c.some_field != None)

# the second subquery, select all ids from SOME_TABLE where some_field is NULL
s2 = select([SOME_TABLE.c.id]).where(SOME_TABLE.c.some_field != None)

# union s1 and s2 subqueries together and alias the result as "alias_name"
q = s1.union(s2).alias('alias_name')

# run the query and limit the aliased result to 10
session.query(q).limit(10)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы