Использование поля целочисленного SQLAlchemy для создания объекта timedelta для фильтрации
У меня есть объект под названием Item. У этого есть 2 поля: строка даты и времени, названная «made_on», и целочисленная строка, названная «days».
Я хочу запросить все объекты, которые были созданы "дни" много дней назад.
Вот как я думал, что это должно быть сделано:
now = utcnow()
session.query(Item).filter(Item.created_on + Interval(timedelta(days=Item.days)) <= now)
Но я не могу создать timedelta, как это. Я получаю эту ошибку:
TypeError: unsupported type for timedelta minutes component: InstrumentedAttribute
Обновить:
Благодаря ван, я должен был использовать встроенную функцию. Я использую Mysql 5.1, так что было быtimestampadd
, Мой новый запрос такой:
now = utcnow()
session.query(Item).filter(func.timestampadd('DAY', Item.days, Item.created_on) <= now)
Тем не менее, новая ошибка, которую я получаю:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''DAY', items.days, items.created_on) <= '2015-07-12 ' at line 3