如何使用 MongoEngine 从 json 反序列化日期时间

问题描述

我正在尝试使用 MongoEngine 将日期时间从 JSON 字符串反序列化为摆锤 datetime 对象。考虑以下代码

#!/usr/bin/env python3

import pendulum as pd

import mongoengine as db

TZ_EST = pd.timezone('America/New_York')


class Event(db.Document):
    datetime = db.DateTimeField(required=True)


json = """
{
    "datetime": "2021-04-11T10:46:47-05:00"
}
"""

event = Event.from_json(json)
datetime = pd.datetime(2021,4,11,10,46,47,TZ_EST)

assert event.datetime == datetime

即使在将 Event.datetime 声明为 DateTimeField 之后,type(datetime) 也会返回字符串并且断言失败。如何为 mongoengine 指定自定义反序列化器?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)