Rah*_*qui 5 python sqlalchemy pydantic fastapi
这是我的架构文件
from pydantic import BaseModel
from typing import Optional
class HolidaySchema(BaseModel):
year: int
month: int
country: str
language: str
class HolidayDateSchema(BaseModel):
name: str
date: str
holidays: HolidaySchema | None = None
class Config:
orm_mode = True
Run Code Online (Sandbox Code Playgroud)
这是我的路由器
@router.get("/holidays/",response_model = List[HolidayDateSchema])
Run Code Online (Sandbox Code Playgroud)
我想得到的回应是
[
{
"date": "2021-08-14",
"name": "Independence Day",
"holidays": { "year": 2022, "month":5, "country":"pk", "language":"en"},
"id": 13
},
]
Run Code Online (Sandbox Code Playgroud)
现在它不支持带有响应模型的 pydantic 模式,我不知道为什么,它给出了错误 pydantic.error_wrappers.ValidationError: 2 validation errors for HolidayDateSchema和value is not a valid dict
如果任何人都可以指定使用response_model 获取深度嵌套的JSON 对象的最佳方式,那就太好了。
HolidaySchema 未配置orm_mode = True.
对于想要从 SQLAlchemy 模型对象自动转换的所有模型,您都需要这个。
class HolidaySchema(BaseModel):
year: int
month: int
country: str
language: str
class Config:
orm_mode = True
Run Code Online (Sandbox Code Playgroud)
如果您想要为所有模型使用该设置,您可以在通用 BaseModel 上配置该设置并继承该设置。
| 归档时间: |
|
| 查看次数: |
2814 次 |
| 最近记录: |