繁体   English   中英

flask-sqlalchemy中的日期查询等于时为空,ge或le为非空

[英]Date query in flask-sqlalchemy empty when equal, non-empty when ge or le

我有sqlalchemy连接到小烧瓶应用程序中的sqllite数据库。

如果我做:

check = MyTable.query.filter(MyTable.run_dt >= datetime.date(2017,12,14)).all()

然后,我收到一个sqlalchemy对象,其中包含run_dt大于或等于2017-12-14的所有行的列表。 它包含几行,日期为“ 2017-12-14”。 这就是我所期望的。

如果我做:

check = MyTable.query.filter(MyTable.run_dt == datetime.date(2017,12,14)).all()

我得到一个空集。 我不知道为什么。

run_dt是模型对象中的db.Column(db.Date)。 我尝试将其切换为字符串,但没有用。

实际上,使用字符串完成上述操作即可。

抱歉,这是一个愚蠢的问题,但我感到困惑,并且感谢任何人可以提供的帮助。

因此,一种解决方案是将日期转换为'%Y-%m-%d%H:%M:%S'格式。 这样就解决了问题。

但是,我不明白为什么这可行并且datetime.datetime(2017,12,14,0,0,0)不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM