我的 FastAPI 调用没有按照正确的 Response 模型格式返回数据,它是以数据库模型的格式返回数据。
我的数据库模型:
获取以下格式的响应:
我的数据库模型:
class cat(DBConnect.Base):
__tablename__ = 'category'
__table_args__ = {"schema": SCHEMA}
cat_id = Column('cat_id',UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
cat_desc = Column('cat_desc', TEXT, nullable=True)
cat_h__l_name = Column('cat_h_l_name', TEXT, nullable=True)
我的Pydantic模型:
class CamelModel(BaseModel):
class config:
alias_generator = to_camel
allow_population_by_field_name = True
class cat(CamelModel):
cat_id =Field(alais='CatID', readonly=True)
cat_description =Field(alias='CatDescription')
cat_h__l_name = Field(alias='CatName')
class config:
orm_mode= True
我的API调用:
@router.patch('/cat/{id}/', response_model = 'cat')
def update_cat(response= Response, params: updatecat = Depends(updatecat)):
response_obj = { resonse_code: status.HTTP_200_OK,
response_obj : {}
}
response_obj = session.query() # It is returning the correct data from the database
response.status_code = response_obj['response_code']
return JSONResponse(response_obj['response_obj'], status_code = response_obj['response_code'])
获取以下格式的响应:
cat_id = 'some uuid'
cat_desc = 'desc'
cat_h__l_name = 'some h_l_name'
但我希望响应的格式如下:
CatID = 'some uuid'
CatDescription ='' some description'
CatName = 'Some cat name'
这段代码没有报错(我已经打过了,所以可能存在一些缩进或拼写错误)。唯一的问题是API没有返回正确的数据格式。我已经卡在这里一段时间了。我对FastAPI还很陌生,请帮帮我。