nixbox
@nixbox

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

Привет.

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

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

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

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

Большое спасибо!
  • Вопрос задан
  • 75 просмотров
Решения вопроса 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)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Droice Labs Москва
от 120 000 до 220 000 ₽
BSL Москва
от 110 000 ₽
26 февр. 2020, в 05:15
5000 руб./за проект
26 февр. 2020, в 01:14
600 руб./в час
26 февр. 2020, в 01:13
1500 руб./за проект