from fastapi import APIRouter import backend_fastapi.schemas as schemas import backend_fastapi.repositories as repo import asyncio router = APIRouter() @router.get("/values") async def get_values() -> list[schemas.Value]: return await repo.get_values() @router.get("/objects") async def get_objects() -> list[schemas.Object]: return await repo.get_objects() @router.get("/report") async def get_report() -> None: import pandas as pd values, objects = await asyncio.gather(repo.get_values(), repo.get_objects()) values = [schemas.Value.model_validate(value).model_dump() for value in values] objects = [schemas.Object.model_validate(object).model_dump() for object in objects] df_values= pd.DataFrame(data=values) df_objects= pd.DataFrame(data=objects) df_type = df_values['id_param'].where(df_values['id_param'] == 3).notnull() print(df_values[["id_object","value"]][df_type])