сервисов и модельки ( структура приложения на фото )
Все модели наследуются от обего Base: declarative_base
И у меня нет особо адекватных идей как добавить к моделям query не сделав БД сессию глобальной
Соответственно, как поступить?
P.s.: query нужно именно у модели ввиду того что фласк-либы так и жрут модели ‘Model.query.filter(…)…’
https://flask-russian-docs.readthedocs.io/ru/latest/patterns/sqlalchemy.html
Был там. Либо там глобальная сессия либо лишь 1 сервис и это вообще не играет роли
Либо импортируют сессию из сервиса и кидают в таблицу — но у меня то две сессии может быть )
повторю вопрос ( ответа не получил(
Может я плохо объяснил проблему? Пожалуй попытаю удачу в третий раз и буду костылять сам
попробуй спросить https://t.me/sqlalchemy_help
А не нужно так делать. Прибивая гвоздями сессию к модели ты делаешь ее внезапно глобальной.
Не путай квери и сессию. Модель не должна знать как и где запускать запросы. Она отвечает за хранение данных и частично за конструирование самих запросов.
Не путаю, но речь не об этом
Тогда как делать? Везде наследуюсь от declarative_base. Если я вздумаю где-то свою сессию поднять(как это и должно быть — 1 сервис - 1 сессия), фласк начнет ругаться и кричать, что у Model отсутствует query
начнем с того что фласк ничего не знает об алхимии
Зато знают его Flask-* либы
Слушай. А я чёт не могу понять. Вот они просто берут scoped_session и всё https://pythonhosted.org/Flask-Security/quickstart.html#id4 И нигде не закрывают её. Оно же всё сломается при первой обвалившейся транзакции?
Что ты под «сломается» подразумеваешь?
Обсуждают сегодня