Найти - Пользователи
Полная версия: sqlalchemy, выбрать записи,где now() - timestamp_field < 3 days - как?
Начало » Базы данных » sqlalchemy, выбрать записи,где now() - timestamp_field < 3 days - как?
1
Nuclon
собственно - сабж

БД - постгрес.

что-то типа
SELECT * FROM table WHERE now() - timestamp_field < interval ‘3 days’;
но в представлении SQLAlchemy

не могу сообразить как. :)

заранее спасибо.
Андрей Светлов
да хоть бы и так:
session.query(Table).filter(text(“now() - timestamp_field < interval ‘3 days’)”)
Nuclon
“а зачем тогда корова?” (с) кот Матроскин
всмысле - разве это нормально в ORM системе вставлять RAW SQL куски?..
Андрей Светлов
Иногда - нормально.
Беда в том, что запись вида now() - timestamp_field легко превращается в func.now() - table.c.timestamp_field, но специфически постгресовое interval ‘3 days’ записать напрямую нельзя.
Хотя, кажется, была функция с аналогичным поведением, возвращающая интервал. Можешь подставить ее.
Nuclon
до func.now() - table.c.timestamp_field я тоже сумел дойти, но вот дальше…
ладно, “будем искать” (с)
:)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB