搜索日期范围 mongodb:递归异常

Search date range mongodb: Recursion Exception

我正在编写一个 api 来与 mongodb 交互,但是当尝试根据日期进行过滤时,我收到以下错误:

File "/shares/dev/mongo_api/lib/python3.8/site-packages/fastapi/encoders.py", line 43, in jsonable_encoder
    if isinstance(obj, BaseModel):
  File "/usr/lib/python3.8/abc.py", line 98, in __instancecheck__
    return _abc_instancecheck(cls, instance)
RecursionError: maximum recursion depth exceeded in comparison

这是我目前使用的代码:

@app.post('/search/')
def search_post(vendor: str = '', program: str = '', severity: str = '', _from: str = "", to: str = ""):
    # TODO: Add search options: Program/Vender/(Date-Range)
    data = {}
    if vendor:
        data['vendor'] = vendor
    if program:
        data['program'] = program
    if severity:
        data['severity'] = severity
    if _from:
        _from = utils.convert_date_string(_from)
    if to:
        to = utils.convert_date_string(to)

    my_data = MyData.objects().filter((Q(mod_date__gte=_from) & Q(mod_date__lte=to)))
    return my_data

我正在使用 mongoengine 连接数据库。

原来我是个白痴,但这里是遇到同样问题的人的答案。

my_data = MyData.objects().filter((Q(mod_date__gte=_from) & Q(mod_date__lte=to)))

在将其传回 fastapi 之前需要将其转换为字典列表

return list(my_data)

已解决问题