170 похожих чатов

Всем привет! Кто-то использовал tortoise orm в продакшене? Для нового

проекта ищу асинк orm, из выбора есть sqlalchemy 1.4, gino, tortoise orm и pewee-async
pewee-async сразу нет
gino работает, но там надо вручную many to many и остальным управлять
sqlalchemy 1.4 тоже работает, но когда я несколько месяцев назад пробовал добавлять столкнулся с некоторыми проблемами (это было на версии 1.4.9):
Были проблемы типа another operation is in progress, и нет возможности делать удобное await model.query.all(), т.е. какой-то доступ к сессии отовсюду (хотя возможно какое-то свое решение можно прикрутить)
ну и плюс там так или иначе это бета пока что
и ещё я не нашел удобного способа чтобы оно для m2m получало список айдишников, а не полные объекты (и обновление соответственно не очень удобное)

Посмотрел сегодня tortoise, там появились миграции на основе SQL, плюс autogenerate и все в принципе работает. Автогенерация pydantic схем для fastapi. Удобный доступ где угодно
Пока не известно, где подвох) Я его ранее не использовал, главный вопрос в стабильности

10 ответов

20 просмотров

Нельзя иметь доступ к сессии "отовсюду", это говнокод

Алексей- Автор вопроса

Я ранее писал, что если бы было только fastapi приложение, то через Depends сессия прекрасно передается, но могли быть например фоновые таски или места, куда её сложно передать, поэтому удобнее получить доступ через модель напрямую например (так делает например flask-sqlalchemy. Там тоже говнокод?) Алхимию именно из-за стабильности?

Алексей- Автор вопроса
Tishka17
Не удобнее

Если бы я увидел хоть один крупный проект на алхимии где все удобно передается и прекрасно работает без этого, я с удовольствием начну так делать) Есть такие в опенсорсе? Проекты на фласке, где почти все алхимию юзают, получаются отпадают, т.к. большинство юзают flask-sqlalchemy Про проблемы глобалов я прекрасно знаю

Алексей
Если бы я увидел хоть один крупный проект на алхим...

Не особо крупный, но но на алхимии + фастапи с нормально реализованным DI https://github.com/GLEF1X/fastapi-project

Алексей
Я ранее писал, что если бы было только fastapi при...

В SQLAlchemy сессии не глобальные. Там под капотом используется scopedsession, который кладется в thread локалы.

Алексей
Если бы я увидел хоть один крупный проект на алхим...

Сейчас решил заюзать алхимию как раз. Раньше юзал asyncpg, а там connection pool, через который можно параллельные запросы слать без всяких another operation in progress. Сейчас думаю над тем, как правильно создавать и прокидывать сессию 😂

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
а чем лучше всего сделать глобальный лок, если много нодов, до сотни? ну то есть мне надо, чтобы некоторые операции с объектом не происходили одновременно. перемещение между н...
Д. П.
15
Hi guys, I'm looking for a good LLM course. Is there any course to learn LLMs in advanced? I'm aiming to use them in my apps, so a perfect course in my openion, is not only a ...
Taha
14
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
Легче писать на C++ чем на C, если полностью не изучать C++, а знать только основное?
Алмаз
8
Карта сайта