I want to do something like this:
f = Foo(bar=\'x\') session.add(f) session.flush() # do additional queries using f.id before commit() print f.id # should b
You should try using session.save_or_update(f) instead of session.add(f).
session.save_or_update(f)
session.add(f)