2014-04-15 65 views
4

我需要使用session.add()添加的對象的ID。在committing會話之前,我需要此對象的自動增量ID。SQLAlchemy在不提交會話的情況下獲取對象的ID

如果我打電話給對象instance.id,我得到None

有沒有辦法讓對象的ID沒有提交?

+0

hacky解決方案,但你可以得到添加的最後一個對象的id,只需添加一個? – rysloan

+0

以上是非常危險的,可能是各種各樣的問題。這裏的主要問題是/爲什麼/你需要提交之前的id?進行編輯?要麼?還有其他方法可以獲得/編輯對象 –

+0

我需要將對象的ID傳遞給一個函數,這個函數將會在''celery'將來調用。 http://www.celeryproject.org/ – giga

回答

5

簡單的回答:致電session.flush()

+0

謝謝。它是否保證始終工作,沒有任何副作用? – giga

+0

沒有提交()不會觸發。 –

相關問題