Рекурсивные запросы в SQLAlchemy

Когда возникает необходимость работать с иерархической структурой данных, кажется, что решение давно найдено, ведь подобные задачи уже неоднократно решались. Возможно, даже выбран инструмент, например, Python и SQLAlchemy. Однако, углубляясь в задачу, понимаешь, что вариантов множество, даже в вопросе, как извлечь данные из базы: использовать стратегию selectin для загрузки родительских элементов? Или, возможно, стоит применить joinload? А может, лучше воспользоваться CTE‑запросами, которые рекомендуются в 90% статей? Но насколько CTE действительно эффективно по сравнению с другими методами? Более того, большинство примеров рассматривают ситуации в идеальных условиях, далёких от реальных проектов. В этой статье я рассмотрю основные способы получения иерархической структуры из БД на примере реального многослойного приложения с использованием SQLAlchemy 2.0. Как обычно, есть важные нюансы, о которых редко упоминают, хотя они весьма любопытны. В завершение проведу сравнение производительности всех описанных подходов. Погружаемся

https://habr.com/ru/companies/domclick/articles/865256/

#sqlalchemy_20 #sqlalchemy #sqlalchemy_валидация_с_pydantic

Рекурсивные запросы в SQLAlchemy

Оглавление Введение Ленивая стратегия Selectin Joinload Сырой рекурсивный CTE-запрос CTE-запрос core SQLAlchemy Сравнение производительности Введение Когда возникает необходимость работать...

Хабр

Создание блога на FastAPI с нуля: JWT, Markdown и современный веб-дизайн

В этой статье мы создадим полноценный мини-блог на FastAPI с нуля, используя современные технологии веб-разработки. Вы узнаете, как реализовать JWT-аутентификацию, работать с Markdown и создать привлекательный пользовательский интерфейс. Мы рассмотрим асинхронную работу с SQLAlchemy 2, включая сложные запросы и связи ManyToMany, а также интеграцию фронтенда с использованием Jinja2. Этот проект демонстрирует, как создать функциональный блог, подобный Telegraf, преодолевая его ограничения и расширяя возможности.

https://habr.com/ru/companies/amvera/articles/863130/

#fastapi #sqlite #sqlalchemy #python #блог_на_fast_api #разработка_блога_на_fastapi #python_и_работа_с_базами_данных #sqlalchemy_orm #sqlalchemy_sqlite #sqlalchemy_валидация_с_pydantic

Создание блога на FastAPI с нуля: JWT, Markdown и современный веб-дизайн

Друзья, приветствую! Надеюсь, вы соскучились. Сегодня я снова с вами, и на этот раз мы займемся созданием полноценного проекта — мини‑блога с использованием замечательного...

Хабр

Pydantic 2: Полное руководство для Python-разработчиков — от основ до продвинутых техник

Друзья, сегодня мы погрузимся в мир Pydantic 2 – мощного инструмента для валидации данных в Python! Узнаем, почему эта библиотека стала незаменимой в 30% Python-проектов и как она упрощает работу с данными. От базовых концепций до продвинутых техник – мы охватим всё, что нужно знать современному Python-разработчику. Готовьтесь к практике – ведь только так можно по-настоящему освоить Pydantic и сделать ваш код более надёжным и эффективным.

https://habr.com/ru/companies/amvera/articles/851642/

#pydantic #руководство_по_pydantic2 #валидация_данных #обработка_данных #pydantic_2 #валидация_данных_ORM #sqlalchemy_валидация_с_Pydantic #python #микросервисы #микросервисная_архитектура

Pydantic 2: Полное руководство для Python-разработчиков — от основ до продвинутых техник

Недавно я обратил внимание, что в русскоязычном интернете очень мало доступной и понятной информации о библиотеке Pydantic, особенно об её обновлённой версии 2. Это кажется странным, потому что...

Хабр