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



我正在编写一个与mongodb接口的api,但在尝试根据日期进行筛选时,我遇到了以下错误:

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 之前,需要将其转换为dict列表

return list(my_data)

修复问题

最新更新