sure....im not super thrilled with this whole issue since id rather __init__ is just left alone, but the whole "auto-add-to-the-session" behavior is pretty popular...so just submit a ticket/patch for whatever version you want there.
On Feb 6, 7:29 am, "Patrick Lewis" <[EMAIL PROTECTED]> wrote: > On Feb 5, 4:21 pm, [EMAIL PROTECTED] wrote: > > > > oh right, old_init(), sorry, didnt read the first post carefully. > > > > i almost think the answer here might be to not even create the > > > modified __init__()/old_init() method in the general case...if > > > youre calling session.save(someobject) its not really needed. > > > > but for now...maybe class.__init__.func_globals['oldinit'] ? > > > nah, i tried that, that is the globals of the module-level; while the > > locals that are inside the func... are in the .func_code. And > > especialy the outside-scope locally-bound references are > > the .func_code.co_freevars - but names only. > > That's what I'm seeing as well. > > > > > one way is to expose class._old__init__, or if that is not acceptable > > (which is understandable), to completely copy not only name & doc, > > but also func_defaults and the args/kwargs-names from .code - see > > inspect. But i dont think the .func_code attributes are writable, so > > they have to go under the function itself. > > A really sneaky way would be to make/fake a new code obj - well, the > > doc says "not for faint at heart" (-: > > > now i am completely offtopic. > > ciao > > If any of the following were to be included at some point, I would be > very happy: > > 1- class_._old_init = oldinit > 2- class_.__init__._sa_oldinit = oldinit > 3- class_._old_init_argspec = inspect.getargspec(oldinit) > 4- class_.__init__._sa_old_init_argspec = inspect.getargspec(oldinit) > > #2 or #4 could even serve to replace the functionality of > __init__._sa_mapper_init (indicating that the class has already been > initialized) > > I'd submit a patch if Michael indicates that one of them might be > accepted. --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---