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"
     }

Помогите преобразовать отвтет из одной модели в другую.

Спасибо.


Ответы (0 шт):