Полный Дзен Пайтона в одном канале
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL
Post #4655
3.17K
Обвязка вокруг SQLAlchemy Core — sqla-fancy-core. Это не очередной ORM, а надстройка для тех, кто любит писать запросы сам, но хочет строгую типизацию, поддержку асинхронности и понятные транзакции без «магии» сессий.
Главная фишка — другой способ описывать таблицы вместо
Пример:
Проект задуман под продакшен: для тех, кто хочет конструктор запросов вместо ORM, но без потери читаемости и безопасности. По словам автора, в отличие от Peewee тут есть аннотации типов и официальная работа с async, Piccolo менее гибкий и сильно навязан по архитектуре, а Pypika не защищает от SQL‑инъекций по умолчанию. В итоге это просто способ сделать SQLAlchemy Core чуть более строгим и удобным, не меняя стек целиком.
Есть отдельное демо по использованию.
@zen_of_python
Главная фишка — другой способ описывать таблицы вместо
table.c.column, который нормально дружит с проверкой типов и делает код понятнее. Плюс поверх движка добавлены обёртки и декораторы: они берут на себя создание подключений и управление транзакциями.Пример:
import sqlalchemy as sa
from sqla_fancy_core import TableBuilder
tb = TableBuilder()
class Author:
id = tb.auto_id()
name = tb.string("name")
created_at = tb.created_at()
updated_at = tb.updated_at()
Table = tb("author")
Проект задуман под продакшен: для тех, кто хочет конструктор запросов вместо ORM, но без потери читаемости и безопасности. По словам автора, в отличие от Peewee тут есть аннотации типов и официальная работа с async, Piccolo менее гибкий и сильно навязан по архитектуре, а Pypika не защищает от SQL‑инъекций по умолчанию. В итоге это просто способ сделать SQLAlchemy Core чуть более строгим и удобным, не меняя стек целиком.
Есть отдельное демо по использованию.
@zen_of_python
- 👎 1
- 👾 1






