Pydantic преобразование моделей
коллеги. Возникла необходимость в переводе сайта на несколько языков. Бэк на FastAPI + MongoDB Есть документ в MogoDB:
page_name: {
en: "Name by English",
ru: "Название на русском",
ua: "Назва українською"
},
image: {
path_to_image: "/images/img.png",
meta_alt_text: {
en: "Alternative text by English",
ru: "Альтернативный текст на русском",
ua: "Альтернативний текст українською"
},
meta_description: {
en: "Description by English",
ru: "Описание на русском",
ua: "Опис українською"
}
}
С созданием документа вопросов нет. POST запрос по модели pydantic:
class Page(BaseModel):
page_name: dict = Field(default=
{
en: "",
ru: "",
ua: ""
}
)
image: dict = Field(default=
{path_to_image: "",
meta_alt_text:
{en: "", ru: "", ua: ""}
},
meta_description:
{en: "", ru: "", ua: ""}
})
в GET запросе есть параметр lang_code, который принимает значение "en", "ru", "ua". Хочу отдать ответ со значениями только для выбранного языка и по следующей модели:
class ResponsePage(BaseModel): # к примеру для английского (lang_code="en")
page_name: "Name by English"
image: {
path_to_image: "/images/img.png",
meta_alt_text: "Alternative text by English",
meta_description: "Description by English"
}
Помогите преобразовать отвтет из одной модели в другую.
Спасибо.