我有一个小瓶应用程序中连接到sqllite数据库的sqlalchemy。
如果我这样做:
check = MyTable.query.filter(MyTable.run_dt >= datetime.date(2017,12,14)).all()
然后,我收到一个sqlalchemy对象,其中包含一个大于或等于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)不起作用。