在筛选器SQLAlchemy中进行日期时间比较

我对SQLAlchemy中的过滤有点困惑

我目前正在尝试筛选超过10周的条目,因此

current\u time=datetime.datetime.utcnow()
潜在=session.query(Subject).filter(Subject.time<current_time-datetime.timedelta(周=10))

但是,potential.count()总是返回0

我的理论是,我没有正确使用filter语句,因为当我尝试使用的列不是column(DateTime())类型,而是

列(字符串(250))

potential=session.query(Subject).filter(Subject.string_字段<current_time-datetime.timedelta(周=10))

SQLAlchemy仍然不会抱怨

还有,当我用

当前时间-session.query(主题).first().time>datetime.timedelta(周=10)

我得到True,这意味着计数不应该是0

我错过了什么明显的东西吗?任何帮助都将不胜感激

如果您切换&lt到a&gt您可以在过去十周内获取所有科目:

current\u time=datetime.datetime.utcnow()
十周前=当前时间-datetime.timedelta(周=10)
最近十周内的主题=session.query(主题).filter(
Subject.time>十周前)。全部()

筛选器生成一个WHERE子句,其中包含与该子句匹配的结果。因此,结果不会被“过滤掉”,而是被包括在内

发表评论