我正在为一个项目开发一个python API,我遇到了一个非常简单的错误,但我找不到解决方法
如果可能有帮助,请查看我的GitHub repo以获得代码确认
为了更好地理解这个问题,请考虑栈(FastAPI,PyyLyM[MySQL ]和PyDyTiC)
在我的viewmodel(src/domain/viewmodel/loans.py)上,我有一个嵌套的响应类,其中包括其他两个viewmodel(学生和仪器)
查看我的贷款存储库(/src/data/repositories/loans.py),我尝试查询所有表的联接。pony不带对象本身,只带数据库对象的ID。因此,当我请求此路由时,我得到一个pydantic错误:
return paginate([cls.Validator.from_orm(obj) for obj in cls.Repository.get(lented_date, returned_date, instrument_uuid, student_uuid)], pagination)
File "pydantic/main.py", line 573, in pydantic.main.BaseModel.from_orm
pydantic.error_wrappers.ValidationError: 5 validation errors for ResponseLoanSchema
instrument
field required (type=value_error.missing)
student
field required (type=value_error.missing)
我不知道用数据库对象返回的最佳方法是什么
总之,响应对象应该类似于:
[
{
"uuid": "string",
"instrument": [
{
"uuid": "string",
"instrument-id": "string",
"name": "string",
"instrument-type": "string",
"notes": "string",
"repair": true,
"active": true
}
],
"student": {
"uuid": "string",
"name": "string",
"surname": "string",
"ra": "string",
"blocked": true,
"active": true
},
"lented_at": "string",
"returned_at": "string"
}
]
目前没有回答
相关问题 更多 >
编程相关推荐