Python FastAPI请求取决于请求用户

Python FastAPI请求取决于请求用户,python,rest,fastapi,pydantic,Python,Rest,Fastapi,Pydantic,假设我有这个模型: 类事物(基本): id=列(整数,主键=True) 所有者\用户\ id=列(整数) def由用户(自身,用户id:int)拥有: 返回self.owner\u user\u id==用户\u id 这个模式是: class ThingDB(基本模型): id:int 用户id:int 类配置: orm_模式=真 类事物(基本模型): id:int 用户id:int 归我所有:布尔 我想创建一个端点,返回上面的Thing模式,问题是它的字段owned\u by\u me不

假设我有这个模型:

类事物(基本):
id=列(整数,主键=True)
所有者\用户\ id=列(整数)
def由用户(自身,用户id:int)拥有:
返回self.owner\u user\u id==用户\u id
这个模式是:

class ThingDB(基本模型):
id:int
用户id:int
类配置:
orm_模式=真
类事物(基本模型):
id:int
用户id:int
归我所有:布尔
我想创建一个端点,返回上面的
Thing
模式,问题是它的字段
owned\u by\u me
不是绝对值,它取决于执行请求的用户

我找到的唯一方法是:

@router.get(“/{thing\u id}”,response\u model=schemas.thing)
def阅读游戏(
事物id:int,
db:Session=dependens(get_db),
当前用户:models.user=dependens(获取当前用户),
):
thing=crud.thing.read(db,thing\u id)
返回schemas.Thing(
**schemas.ThingDB.from_orm(thing.dict(),
owned_by_me=thing.is_owned_by_user(当前_user.id)
)
但我一点也不喜欢,我该怎么办

注意,所有与端点相关的事物都需要返回模式
Thing
,而不是
ThingDB


p.p.S.我省略了一些代码,只留下了必要的内容,但我主要遵循FastAPI文档,我想做的应该很清楚。

据我所知,这确实是您应该执行的方式。例如,以Otteroise orm示例代码中的不同HTTP方法为例。或者,您可以尝试直接返回返回的
orm
对象,与
模式中的模型结构相匹配