This is my schema file
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
and this is the router that I have
@router.get("/holidays/",response_model = List[HolidayDateSchema])
The response I want to get is
[
{
"date": "2021-08-14",
"name": "Independence Day",
"holidays": { "year": 2022, "month":5, "country":"pk", "language":"en"},
"id": 13
},
]
Right now it doesn't support the pydantic schema with response model, I don't know why and it gives error pydantic.error_wrappers.ValidationError: 2 validation errors for HolidayDateSchema and value is not a valid dict
It would be great if anyone can specify the best to get deeply nested JSON objects with response_model.
{ year: 2022, month:5, country:pk, language:en}is not a valid JSON: strings must be quoted, like{"year": 2022, "month": 5, "country": "pk", "language": "en"}year,month, etc are not enclosed within quotes.HolidaySchemaisn't configured withorm_mode = True. You need this for all the models that you want to automagically convert from SQLAlchemy model objects. You can configure that setting on a common BaseModel and inherit from that instead if you want the setting for all your models.