Найти - Пользователи
Полная версия: Flask-Admin без flask-sqlalchemy
Начало » Web » Flask-Admin без flask-sqlalchemy
1
alex925
Пытаюсь использовать sqlalchemy на прямую, без flask-sqlalchemy. Появилась необходимость подключить flask-admin, возможно-ли это сделать без flask-sqlalchemy?
4kpt_IV
Да.

P.S. Респект. Давно сам юзаю raw sqlalchemy.
alex925
4kpt_IV
А в какую сторону копать? Как это сделать?
4kpt_IV
Опишите, зачем нужно и кину ссылку. Просто есть два подхода к решению проблемы.
alex925
Немного не понял, что “зачем нужно”?
В приложение хочу добавить админку из, которой можно было-бы, что-то быстро сделать с базой, но так как пошёл не по проторенной дорожке, то не знаю как подключить модуль.
4kpt_IV
Поясню. Чаще всего бывает, что модели нужны еще и для другого приложения, которое не является фласком. Торнадо там или RQ. Или просто разработчиков раздражает взаимный импорт.

По Вашему вопросу все равно есть 2 возможности.

1. Все же подключить flask-alchemy.
В этом случае нужно немного костыльнуть. В before_request получать session из flask-alchemy и использовать его дальше явно. А в моделях прописать импорт Base из стороннего модуля. В этом случае при создании конфигурации (инстанса Вашего app) можно импортировать модуль с Base и подменять в нем Base - base'ом из flask-alchemy. При этом модели можно вообще не менять. И внутри все будет вести себя как надо.

2. Более сурово, но есть ньюансы. В этом случае в админку передается сессия и можно просто подключать модели.
Прямо ссылка…

P.S. Если еще нужно для flask-debugtoolbar, то там вообще костыль на 1 строку. Напишите, если будет нужно, кину кусок кода.
alex925
4kpt_IV
Спасибо. Воспользовался вторым вариантом, самый простейший опробованный случай работает. А какие нюансы при таком подходе есть?
4kpt_IV
Я уже не помню. Там были проблемы со связями у которых стояли разные спецнастройки типа каскаде и других. Но это было уже давно и, может, исправили.
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