er, what's the "reconsistute" hook you're using ? we havent made a public API for it yet. we're discussing it on ticket #1070 since I'd like to get one in there for you.
On Jun 3, 2008, at 1:47 PM, Martin Pengelly-Phillips wrote: > > > Upgraded to 0.5 trunk and all works fine now. > Thank you again for your help. > > > Martin > > > On Jun 3, 5:23 pm, Michael Bayer <[EMAIL PROTECTED]> wrote: >> merge() makes a copy of the object in a similar manner as which it >> would be loaded from the DB for the first time, using __new__ instead >> of __init__ and assigning state according to the available >> MapperPropertys. Since your state relies upon extra steps in >> populate_instance, theres no corresponding hook within merge(). >> >> 0.5 has a better hook than populate_instance for post-load activities >> which is consistently called whenever an instance is reconsituted. >> >> On Jun 3, 2008, at 11:08 AM, Martin Pengelly-Phillips wrote: >> >> >> >>> Thanks as always for the quick response and fix. >> >>> As a slight aside; I am using a MapperExtension to create an >>> attribute >>> on an object. When the object is stored, reloaded and then merged >>> back >>> into a session this attribute is no longer available. >> >>> Any thoughts on why this might be? >> >>> ta >> >>> Martin >> >>> Pseudo code: >>> ========== >>> class EntityMapperExtension(MapperExtension): >>> def populate_instance(self, mapper, selectcontext, row, instance, >>> **flags): >>> if not hasattr(instance, 'property'): >>> instance.property = PropertyDict(instance) >>> return EXT_CONTINUE >> >>> obj = Entity() >>> obj.property['group'] > [prop1, prop2] >>> store[id] = obj >>> Session.remove() >>> ... >>> session = Session() >>> obj = session.merge(store[id]) >>> obj.property['group'] > AttributeError: 'Entity' object has no >>> attribute 'property' > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected] 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 -~----------~----~----~----~------~----~------~--~---
