grassoalvaro wrote: > > This is not exactly what i was looking for. I want to connect only one > model with some kind of operations, not all session...
scan through Session.dirty etc. for the objects you want. if a new extension "MapperExtension.before_flush()" were added it would be working more or less the same way anyway. > > On 11 Sie, 19:36, "Michael Bayer" <mike...@zzzcomputing.com> wrote: >> grassoalvaro wrote: >> >> > Hmm, but after_insert() is the best place where i can put this king >> > logic (updating/inserting data in may places). So i can't use session >> > operations inside of after_insert() at all? >> >> nope. use before_flush() or after_flush() on SessionExtension for that. >> >> >> >> > On 11 Sie, 18:35, "Michael Bayer" <mike...@zzzcomputing.com> wrote: >> >> you can't do Session operations and commits inside of after_insert(). >> >> you're already in the session.flush() operation. I guess I have to >> make >> >> this clearer for every individual method in the docs. >> >> >> grassoalvaro wrote: >> >> >> > I don't know why but now exception is: >> >> >> > InvalidRequestError: Instance '<DBAccount at 0x134360d0>' is not >> >> > persisted >> >> >> > On 11 Sie, 01:34, grassoalvaro <grassoalv...@yahoo.com> wrote: >> >> >> Hi, >> >> >> >> example from Pylons application, but i think that framework >> doesn't >> >> >> matter here: >> >> >> >> class DBAccountExtension(orm.interfaces.MapperExtension): >> >> >> def after_insert(self, mapper, connection, instance): >> >> >> response = hrd.user_create(instance.to_hrd()) >> >> >> if response['status'] == hrd.STATUS_OK: >> >> >> instance.csa = response['resdata']['user']['id'] >> >> >> db.save_or_update(instance) >> >> >> db.commit() >> >> >> return orm.interfaces.EXT_CONTINUE >> >> >> >> After saving model i'm making request to some API (to save data >> there >> >> >> also). API return status information (response['resdata']['user'] >> >> >> ['id']) which i want to update in database so i'm trying to do >> >> >> db.save_or_update(instance) and then db.commit() but after this 2 >> >> >> lines application prints exception: >> >> >> >> InvalidRequestError: The transaction is closed >> >> >> >> Any solutions? >> >> >> >> (sorry for my english). > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. 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 -~----------~----~----~----~------~----~------~--~---