如何解决pydantic.error_wrappers.ValidationError:值不是有效列表type=type_error.list
您的回复预计是您的这行代码的列表:
@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": [......]}
[] 内将是一个帖子列表。
解决方法
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")
我在这里想念什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。