Python 将字符串转换为datetime并与SQLAlchemy中的日期进行比较

Python 将字符串转换为datetime并与SQLAlchemy中的日期进行比较,python,sqlalchemy,Python,Sqlalchemy,我的模型中有一个DateTime列,目前我正试图筛选出大于由字符串“2018-04-11 04:03:20”表示的日期的条目: 问题是,候选项总是包含一些不符合标准的记录。含铁结果样本: { "inspection_name": "lsof check", "name": "lsof check", "executor": "Susan", "created_at": "2018-04-17T11:12:08.000000", "score": 43,

我的模型中有一个
DateTime
列,目前我正试图筛选出大于由字符串“2018-04-11 04:03:20”表示的日期的条目:

问题是,
候选项
总是包含一些不符合标准的记录。含铁结果样本:

{
    "inspection_name": "lsof check",
    "name": "lsof check",
    "executor": "Susan",
    "created_at": "2018-04-17T11:12:08.000000",
    "score": 43,
    "inspection_groups": "CLM EC",
    "id": "125d932e-293e-469f-8cd2-d08f44bf2ab8",
    "updated_at": "2018-04-17T11:12:23.000000"
},
{
    "inspection_name": "lsof-fake",
    "name": "lsof-fake",
    "executor": "Susan",
    "created_at": "2018-03-21T14:34:19.000000",
    "score": 40,
    "inspection_groups": "CLM EC",
    "id": "1278309f-7dd6-49f4-9d3d-f44097b4baf8",
    "updated_at": "2018-03-21T14:34:21.000000"
},
但是当我使用由
datetime
生成的日期时:

beginning_time = datetime.utcnow()-timedelta(days=2)

我能找到完全正确的候选人。关于如何正确执行此操作,您有什么想法吗?

请提供一些示例数据和与您预期结果相比较的有害结果样本。换言之,产生一个新的结果。您使用的是什么数据库?仅供参考,您不需要使用
default=lambda:datetime.utcnow()
。只需传递
utcnow
函数本身:
default=datetime.utcnow
也可以工作。至于您的问题:当您从字符串生成datetime时,是否考虑了时区信息?您可能将日期存储在utc中,但当您从字符串构造开始时间时,可能涉及到本地时区,因此会出现意外情况results@ilja-everilä,帖子中有一些示例数据,我的数据库是MySQLBy示例数据我是指你数据库中的一个数据样本,或者换句话说是一些需要查询的数据,但你提供的可能就足够了。
beginning_time = datetime.utcnow()-timedelta(days=2)