Найти - Пользователи
Полная версия: Flask + SQLalchemy (declarative)
Начало » Web » Flask + SQLalchemy (declarative)
1
vax
Добрый вечер!
Уже неделю думаю, над вопросом, как в приложение на Flask красиво вписать SQLalchemy в declarative режиме. С declarative самим по себе вроде всё понятно, с Flask-ом тоже, хотя я его только изучаю. Но вот паттерн создания объекта app, передачи ему конфига, и передачи этого же конфига для создания engine базы данных. Есть на примете идея, но это явно плохой стиль, потому и обращаюсь за помощью.
Чтобы не быть абстрактным, применительно к этому примеру:
https://github.com/miguelgrinberg/flasky

И интересно узнать, насколько часто declarative применяется в продакшене).
alchemist
Нормально никак.

Вот есть тикет которий уже год закрить не могут и там вначале пример как использовать.

https://github.com/mitsuhiko/flask-sqlalchemy/issues/98


Если без flask-sqlalchemy
from sqlalchemy.orm import scoped_session
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from ..config import config
from model import User
from model import *
engine = create_engine(config.DATABASE, **config.DATABASE_ENGINE_CONFIG)
Session = sessionmaker(autocommit=False, autoflush=False, bind=engine)
db = scoped_session(Session)
@app.teardown_request
def shutdown_session(exception=None):
    db.remove()
4kpt_II
Я, к слову, тоже работаю с базами похожим на предложенный alchemist образом. Только подключение к б.д. делаю в run. А так идентично практически. Ну и не @app.teardown_request а @app.teardown_context.
vax
Спасибо большое!
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