sqlalchemy和最后一个插入ID

时间:2011-05-07 22:56:49

标签: sqlalchemy

                req = Test()
                setattr(req, 'test', 1);
                session.add(req)
                print req.id

如何获取req对象的最后一个ID?

3 个答案:

答案 0 :(得分:2)

您应该先提交(session.add(req)之后)。

答案 1 :(得分:0)

如果在最终的print语句之前执行session.commit(),则将设置id属性。如上所述,引擎没有理由执行任何SQL查询,因此尚未插入对象。运行查询后(在会话刷新或提交时),ID将存在。

答案 2 :(得分:0)

flush()就足够了,它会执行查询并填充自动ID。