【发布时间】:2020-11-18 16:21:05
【问题描述】:
所以我正在构建一个 fastAPI 应用程序,我希望我的响应模型从数据库中获取数据(总共 6 列)并在 API 的响应描述中返回。
@router.post("/run/new", response_model=schemas.xyzRun)
def new_request(*,
db: Session = Depends(get_db),
request: schemas.Request):
id = service.initiate_new(db, request)
return db.query(models.xyzRun).filter(models.xyzRun.xyzRunid == id).all()
我只是从service.initiate_new 获取 id 的值,然后从 db 中返回具有该 id 的行。
当我输入response_model=List[schemas.xyzRun] 时它可以工作,但上面的代码(没有列表)会引发错误:
pydantic.error_wrappers.ValidationError:EtlRun 的 5 个验证错误
由于我迷路了,任何人都可以解释一下吗?
附加信息:
models.xyzRun 是一个 xyzRun 类,我在其中给出了 __tablename__、__table_args__ 和 xyzRunid = Column ('xyzRunid, Integer ) 以及其他 5 个变量。
schemas.xyzRun 是一个 xyzRun 类,我在其中给出了 xyzRunid=int 和 5 个其他变量
【问题讨论】:
标签: python fastapi pydantic uvicorn