Найти - Пользователи
Полная версия: ORM for Flask
Начало » Python для новичков » ORM for Flask
1
Areostar
В одних уроках рекомендуют SQLAlchemy в других Alembic, а ка по вашему что лучще использовать?
slav0nic
alembic - это лишь инструмент для написания миграций БД средствами sqlalchemy
альтернативы скорей PonyORM, Peewee
Areostar
А порекомендуете что?

Встречал мнение что SQLAlchemy устарел.
slav0nic
значит я старовер)
Алхимия думаю самая фичастая, для начинающих возможно ф-ционал будет избыточен и будет еще больше запутывать, но оно того стоит.
pewee - джангоподобный орм, вот что думает автор https://www.reddit.com/r/Python/comments/4tnqai/choosing_a_python_ormpeewee_vs_sqlalchemy/d5jyuug/
pony - что-то среднее, доводы разрабов можно глянуть в офдоке https://docs.ponyorm.org/index.html#what-is-pony-orm , модно/молодёжно :) Но по сути пилится 1м человеком.

В моём понимании, если вы пишете какой-то модуль, то лучше взять алхимию (я правда больше по Pyramid чем Flask, алхимия де-факто стандарт), если монолитный проект для себя, то можно и поиграться с чем-то другим вроде PonyORM и тп, если работаете к команде - то будут уже другие доводы (конкретные требования к базе, работа с какими-то экстеншенами БД, кастомными типами и тп) и тд.

по популярности SQLAlchemy > Pewee > PonyORM

Areostar
Спасибо за развёрнутый ответ!
Striver
А порекомендуете что?
Такие вещи, конечно, очень субъективны, так что чужие рекомендации мало помогут, скорее всего…

Про себя могу сказать, что Алхимию не смог нормально осилить (наверное, я тупой слишком), в какой-то момент мне казалось, что проще голые SQL-запросы делать, чем возиться с классами алхимии.

Как-то для себя решил, что если база данных вообще не нужна, то можно Flask использовать (и тогда и ОРМ никакой не требуется), а если всё-таки нужна, то проще взять Джангу и не мучиться.

По другим ОРМ'ам: пробовал Peewee на игрушечном примере - вроде вполне понятной показалась, но в реальном деле не использовал.
Rodegast
> А порекомендуете что?

Будь мужиком - выучи SQL.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB