On Mon, Jul 7, 2008 at 11:51 PM, Michael Bayer <[EMAIL PROTECTED]> wrote: > > > On Jul 7, 2008, at 5:46 PM, Eric Lemoine wrote: > >>> without synonym(), just add "_email:addresses_table.c.email" to your >>> mapper properties dict so that the "email" name is made available. >> >> In that case, on DB read, SA will set _email directly and won't go >> through _set_email(). Is that correct? > > yes. > >> And with "email:synonym('_email', map_column=True)", will SA set >> _email directly or will it go through _set_email()? My feeling is that >> it will set it directly, so it is exactly the same as doing >> "_email:addresses_table.c.email". > > the mapper will always set _email directly. It never goes through > user-defined descriptors since it is essentially writing to > obj.__dict__ directly. > > If you want Python code to take effect for data as it leaves the > database, you might look into creating a TypeDecorator with the > desired behavior.
That explains it all. Thanks Michael. -- Eric --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---