首页 > 解决方案 > Pydantic 1.8.2 无法识别列表

问题描述

我正在使用 pydantic 1.7.2 反序列化一个 fastAPI 上的数据,现在我下载了最新版本的 pydantic 1.8.3,新版本在 python 中反序列化 List 时出现问题。

有什么帮助吗?

我的课是:

class Person(BaseModel):
    first_name: str = None
    last_name: str = None


class YearClass(BaseModel):
    yearClass: str = None
    alumnno: List[Person] = None

其余的api:

@router.put("/class/update")  
async def insert(yearClass: List[YearClass] = None):
    print("update class")

我正在调用端点

curl -v -X PUT http://localhost:8000/class/update -H 'accept: application/json' -H 'Content-Type: application/json' --data '[{"yearClass":"Y10" ,"配料":[{"first_name":"Ana","last_name":"Smith"},{"first_name":"Paula","last_name":"Smith"}]}]'

但其余的 api 是返回 422 - 无法处理的实体

非常感谢任何帮助非常感谢

标签: python-3.xpydantic

解决方案


对不起,是的,你是对的,这是一个愚蠢的错误。谢谢


推荐阅读