2
我有新創建的對象。我想知道如何檢查當前會話是否有該對象?Flask sqlalchemy檢查db.session中是否有對象並準備提交
事情是這樣的:
user = User(...)
....
db.session.add(user)
...
if db.session.has_object(user):
<process further>
是這樣的可能嗎?
此外,我想爲我的瓶子實例創建after_request,以便不必擔心提交,它只允許我檢查db.session是否已準備好提交或不提交。如果是,那麼執行db.session.commit()。
事情是這樣的:
@app.after_request
def after_request(response):
if db.session.is_ready():
db.session.commit()
謝謝@Doobeh。這有助於檢查對象是否在會話中。但是,我仍然如何決定提交是否準備好?何時動態刷新? – srahul07 2014-10-31 07:30:48
如果您要求如何開啓自動提交功能,那麼當您設置會話時,這只是'autocommit = True'([docs here](http://docs.sqlalchemy.org/en/rel_0_8/orm /session.html#autocommit-mode)),或者如果你使用Flask-SQLAlchemy,它是'db = SQLAlchemy(session_options = {'autocommit':True})''。如果您要求自動提交請求級別,例如只在請求結束時提交,而不是在期間提交,只有在需要時才提交 - 我想你可以檢查[會話狀態](http://docs.sqlalchemy.org/en/rel_0_8/orm/session.html#會話屬性)本身,並從中判斷。 – Doobeh 2014-10-31 12:53:13
好的。謝謝你會檢查! – srahul07 2014-11-03 10:48:54