python 在SQLAlchemy中使用日期和间隔的正确方法是什么?

3bygqnnd  于 2023-03-16  发布在  Python
关注(0)|答案(1)|浏览(135)

我需要在SQLAlchemy中使用MySQL数据库实现这个过滤器
dmb.manifest_date >= (CURDATE() - interval 7 day)
我所做的是

date_filter=(datetime.today()-timedelta(days=7)).strftime('%Y-%m-%d')
.filter(DayManifestBatch.manifest_date>= cast(date_filter,DATE))

我从SQLALchemy导入了DATE和转换。也尝试了只使用字符串日期和日期时间格式,但我总是得到这个错误

sqlalchemy.exc.ArgumentError: SQL expression object expected, got object of type <class 'flask_sqlalchemy.model.DefaultMeta'> instead
brgchamk

brgchamk1#

可能有更好的方法,但您可以用途:

from sqlalchemy import text

.filter(DayManifestBatch.manifest_date >= text('CURDATE() - INTERVAL 7 DAY'))

相关问题