Я впервые пишу веб-приложение и использую SQLAlchemy, и я не уверен, что полностью понимаю концепцию сессий.В настоящее время я загружаю новый сеанс всякий раз, когда нужно запросить БД.Достаточно ли закрыть его с помощью sql_session.close (), как я сделал ниже?
Не вызывает ли закрытие проблемы много проблем?
engine = create_engine('sqlite:///database.db', echo=True)
Base = declarative_base(engine)
class Kinases(Base):
__tablename__ = 'Kinase'
full_name = Column(String)
uniprot_code = Column(String)
def loadSession():
metadata = Base.metadata
Session = sessionmaker(bind=engine)
session = Session()
return session
@app.route("/search/kinases/<query>")
def kinase_results(query):
sql_session = loadSession()
kinase = sql_session.query(Kinases).get(query)
if kinase is None:
return redirect(url_for('user_message', query=query))
name = kinase.full_name
sql_session.close()