FastAPI 新手
獲取“值不是有效串列(type=type_error.list)”錯誤
每當我嘗試回傳 {"posts": post}
@router.get('', response_model = List[schemas.PostResponseSchema])
def get_posts(db : Session = Depends(get_db)):
print(limit)
posts = db.query(models.Post).all()
return {"posts" : posts}
雖然如果我回傳這樣的帖子它會起作用:
return posts
這是我的回應模型:
class PostResponseSchema(PostBase):
user_id: int
id: str
created_at : datetime
user : UserResponseSchema
class Config:
orm_mode = True
和型號:
class Post(Base):
__tablename__ = "posts"
id = Column(Integer, primary_key=True, nullable=False)
title = Column(String, nullable=False)
content = Column(String, nullable = False)
published = Column(Boolean, server_default = 'TRUE' , nullable = False)
created_at = Column(TIMESTAMP(timezone=True), nullable = False, server_default =
text('now()'))
user_id = Column(Integer, ForeignKey("users.id", ondelete = "CASCADE"), nullable =
False )
user = relationship("User")
我在這里想念什么?
uj5u.com熱心網友回復:
您的回復預計是您的這行代碼的串列:
@router.get('', response_model = List[schemas.PostResponseSchema])
但你的回應return {"posts" : posts} 是反對。
因此您必須回傳帖子,因為它是您的回應所期望的物件串列。否則,如果你想使用return {"posts": posts}just change router.get('', response_model = List[schemas.PostResponseSchema])torouter.get('')那么你會得到這樣的東西:
{"posts": [......]}
[] 內將是一個帖子串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/512388.html
