Форум сайта python.su
собственно - сабж
БД - постгрес.
что-то типа
SELECT * FROM table WHERE now() - timestamp_field < interval ‘3 days’;
но в представлении SQLAlchemy
не могу сообразить как. :)
заранее спасибо.
Офлайн
да хоть бы и так:
session.query(Table).filter(text(“now() - timestamp_field < interval ‘3 days’)”)
Офлайн
“а зачем тогда корова?” (с) кот Матроскин
всмысле - разве это нормально в ORM системе вставлять RAW SQL куски?..
Офлайн
Иногда - нормально.
Беда в том, что запись вида now() - timestamp_field легко превращается в func.now() - table.c.timestamp_field, но специфически постгресовое interval ‘3 days’ записать напрямую нельзя.
Хотя, кажется, была функция с аналогичным поведением, возвращающая интервал. Можешь подставить ее.
Офлайн
до func.now() - table.c.timestamp_field я тоже сумел дойти, но вот дальше…
ладно, “будем искать” (с)
:)
Офлайн