Dado un modelo FastAPI Pydantic MessageWrapper * no probado :
class MessageWrapper(BaseModel): id: str = ids.get_time_sequential_uuid(datetime.datetime.utcnow()) body: Union[DataMin, DataMax] = None created_by_app: Optional[AnyStr] created_by_app_version: Optional[AnyStr] created_at_utc: datetime = datetime.datetime.utcnow()La propiedad MessageWrapper.body espera un modelo DataMin o DataMax. ¿Cómo puedo cambiar esto para tomar un Dict estándar no validado o CUALQUIER modelo (no solo DataMin o DataMax)?
Mis intentos iniciales se encontraron con bastantes escenarios en los que Pydantic lanzó advertencias por no definir correctamente el tipo de propiedad del cuerpo. Espero pasar dictados estándar o modelos a través de este contenedor antes de que los datos se suministren a través de un punto final de API.
En última instancia, el solicitante recibiría el dictamen anidado compilado y siempre podría esperar acceder a los campos de nivel superior, mientras que el campo del cuerpo podría ser cualquier diccionario anidado.
Estoy interesado en una funcionalidad similar a Maxwell's Daemon donde los datos json se insertan en un diccionario estándar que incluye metadatos sobre el mensaje en sí .
Parece que habrá momentos en los que está bien designar una propiedad con Tipo (de escribir Tipo de importación) para evitar la validación, y otros momentos en los que siempre validamos todas las propiedades.
¿Cómo puedo crear un modelo que tome cualquier otro modelo o dictado estándar como propiedad utilizando el modelo base de Pydantic?