2
위한 before_request 및 teardown_request, DB 연결 개폐 각 세션 전에한다 : sqlite3를 사용시플라스크는 Flaskr 튜토리얼 따르면 DB 연결
@app.before_request
def before_request():
g.db = connect_db()
@app.teardown_request
def teardown_request(exception):
db = getattr(g, 'db', None)
if db is not None:
db.close()
하지만,이 경우이다.
내 질문은 : postressql과 SqlAlchemy를 사용하는 경우 - 같은 방식으로 연결을 열거 나 닫아야합니까, 아니면 SQLAlchemy가 연결 관리를 자동으로 처리합니까?
Flask-SQLAlchemy는 DB 연결 풀을 관리하므로 걱정할 필요가 없습니다. – Miguel
미구엘에게 감사드립니다. 후속 조치 : sqlalchemy & postgres를 사용할 때 모델에 대해 _init_ 생성자를 명시 적으로 정의해야합니까? 당신의 메가 튜토리얼에서는 하나를 사용하지 않지만 __init__을 생략하면 "TypeError : __init __()은 정확히 1 개의 인수 (주어진 5 개)"오류를 갖습니다. – NightOwl
SQLAlchemy는 또한 모델에 대한 기본 생성자를 제공합니다. 이 기본 생성자는 모델의 속성을 초기화하는'** kwargs'를 사용합니다. 나는 왜 당신이'TypeError'를 얻었는지 이해하지 못한다. 스택 트레이스에서 SQLAlchemy가 정의한 생성자의 타입이 아닌 하나의 인자를 취하는이'__init __()'생성자가 어디에 있는지 살펴 본다. – Miguel