Українська
Відкрити в Telegram

ПовідомленняПодскажите пожалуйста, как подружить fastapi и sqlalchemy?

31 серпня 2024
М
Подскажите пожалуйста, как подружить fastapi и sqlalchemy? Пытаюсь получить данные из postgres с помощью сырого запроса через sqlalchemy core, но когда await'чу данные, то мне ничего не приходит. Проверял функцию отдельно, запуская через asyncio.run() - отрабатывает корректно, а вот когда пытаюсь в @app.get получить - хрен. Подскажите, как-таки получить данные из БД при запросе эндпоинта? Как инициализирую fastapi: app = FastAPI() origins = [ "http://localhost:3000", "localhost:3000" ] app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow_headers=["*"] ) uvicorn.run("app.api:app", host="0.0.0.0", port=8000, reload=True) Как инициализирую async engine: async_engine = create_async_engine( url=f"postgresql+asyncpg://{os.getenv('DB_USER')}:" + f"{os.getenv("DB_PASSWORD")}@" + f"{os.getenv("DB_HOST")}:" + f"{os.getenv("DB_PORT")}/" + f"{os.getenv("DB_NAME")}", echo=True, pool_size=200, ) Функция, вызываемая для запроса к БД в эндпоинте: async def select_data(): async with async_engine.connect() as connect: res = await connect.execute(text("SELECT * FROM students") return str(res.all()) Сам эндпоинт: @app.get("/students", tags=["students"]) async def get_students() -> dict: students = await select_data() # students = await asyncio.run(select_data()) print("DATA: ", students) return { "data": students }

Поруч у стрічці

ППавλопредмет на завтраЕЕлисей РуссуРебят, всем привет, подскажите пожалуйста, по какому принципу метод Path.resolve() в ООП python создает абсолютный путь ? Как это работает
це повідомлення
ББензофурран Нейроциклhttps://docs.python.org/3/library/pathlib.html#pathlib.Path.resolveББензофурран НейроциклЧто-то в документации не понятно?

Відкрита публічна стрічка з пошукового індексу ChatCrawler — «Google по публічному Telegram»; оновлюється в міру обходу майданчика. Час — UTC.

Лише публічний контент, офіційний API Telegram. Про проєкт · Питання · Межі індексу · Прибрати сторінку з видачі · Каталог · Пошук · Як ми рахуємо