It turns out the weird behaviour is because an sqlobject.dbconnection.Transaction.__del__ is getting triggered by deleting that key from the dictionary, which in turn inserts a new value with that key. So I'm not totally baffled anymore, although making sure the various interacting transaction management layers work nicely together is likely to be a bit of a pain.
It turns out the weird behaviour is because an sqlobject. dbconnection. Transaction. __del__ is getting triggered by deleting that key from the dictionary, which in turn inserts a new value with that key. So I'm not totally baffled anymore, although making sure the various interacting transaction management layers work nicely together is likely to be a bit of a pain.