2014-04-15 31 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

没有提交()不会触发。 –

相关问题