【发布时间】:2021-08-17 17:10:00
【问题描述】:
我正在制作一个带有端点的 API,它应该返回这样的对象
{
'id': 'asdqwe123randomnessxxyyzz',
'title': 'some title',
'owner': {
'id': 'qwersdaf4132otherrandomness',
'name': 'some name',
},
}
在数据库中,对象看起来像这样
{
'id': 'asdqwe123randomnessxxyyzz',
'title': 'some title',
'owner_id': 'qwersdaf4132otherrandomness',
}
我正在为我的 API 使用 pydantic 模型,目前我正在返回这样的对象
return [Object(**x) for x in mongo_db_column.find()]
x 是数据库中的 json
Object 的类如下所示:
from pydantic import Basemodel, Optional
class Object(Basemodel):
id: Optional[str]
title: str
owner_id: str
所有者类如下所示:
class Owner(Basemodel):
id: Optional[str]
name: str
所以我的问题是是否可以使用Basemodel 中的某些方法对其进行实例化,以便将owner_id 转换为Owner 的实例?
【问题讨论】:
标签: python pymongo fastapi pydantic