Ok I found the solution, just move the first query into the transaction 
body:

import transaction

try:
   transaction.begin()
   x_members = session.query(Distributor)...
   for member in x_members:
        .....
except:
  transaction.abort()
BTW, I'm using pyramid framework, which is using the following statement to 
init the session:

DBSession = scoped_session(sessionmaker(
                             extension=ZopeTransactionExtension()))


-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sqlalchemy/-/DAKuaGyKwM8J.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to