Uso esta parte del código para obtener datos de la base de datos.
class OrmModel(BaseModel): class Config: orm_mode = True class PruebaVozFila(OrmModel): id:int id_origen:int id_destino:int hora_programada:str hora_ejecutada:str exitoso:bool estado:str @router.get("/pruebas-voz",response_model=PruebaVozFila) def obtener_pruebas_voz( *, db: Session = Depends(deps.get_db), current_user: models.User = Depends(deps.get_current_active_user), search:Search = Depends(Search) ) -> Any: temporal_query = db.query(PruebaVoz).filter().with_entities( PruebaVoz.id, PruebaVoz.id_origen, PruebaVoz.id_destino, PruebaVoz.hora_programada, PruebaVoz.hora_ejecutada, PruebaVoz.exitoso, PruebaVoz.estado, ).first() return jsonable_encoder(temporal_query)Entonces, cuando consulto sin usar 'with_entities', funciona, pero si lo agrego, arroja el siguiente error: ingrese la descripción de la imagen aquí
Parece que Pydantic no puede encontrar las columnas o sus nombres dentro de temporal_query Imprimo la consulta como SQL y me da esto Con "with_entities"
SELECT pruebavoz.id AS pruebavoz_id, pruebavoz.id_origen AS pruebavoz_id_origen, pruebavoz.id_destino AS pruebavoz_id_destino, pruebavoz.hora_programada AS pruebavoz_hora_programada, pruebavoz.hora_ejecutada AS pruebavoz_hora_ejecutada, pruebavoz.exitoso AS pruebavoz_exitoso, pruebavoz.estado AS pruebavoz_estadoSin "con_entidades"
SELECT pruebavoz.id AS pruebavoz_id, pruebavoz.id_origen AS pruebavoz_id_origen, pruebavoz.id_destino AS pruebavoz_id_destino, pruebavoz.hora_programada AS pruebavoz_hora_programada, pruebavoz.hora_ejecutada AS pruebavoz_hora_ejecutada, pruebavoz.exitoso AS pruebavoz_exitoso, pruebavoz.estado AS pruebavoz_estado, pruebavoz.usuario_ingreso AS pruebavoz_usuario_ingreso, pruebavoz.creado AS pruebavoz_creado, pruebavoz.actualizado AS pruebavoz_actualizadocomo puede ver en la consulta real, los parámetros son los mismos. ¿Qué cree que está sucediendo?