[sqlalchemy] Re: rev 3449 breaks MapperExtension?
we've got plenty of MapperExtensions running. i dont see how you are getting mapper.extension to be your actual mapper, its supposed to point to a container called ExtensionCarrier (unless, you are saying mapper.extension = _MapExt(). not supported, unless you want to provide a property-based patch for it). On Sep 7, 2007, at 11:12 AM, [EMAIL PROTECTED] wrote: or has something in MapperExt protocol changed? File dbcook/usage/samanager.py, line 189, in query_BASE_instances return session.query( m.plain ) File sqlalchemy/orm/session.py, line 638, in query q = self._query_cls(mapper_or_class, self, **kwargs) File sqlalchemy/orm/query.py, line 31, in __init__ self._extension = self.mapper.extension.copy() AttributeError: '_MapExt' object has no attribute 'copy' i have very simple one, just for sanity checks: class _MapExt( sqlalchemy.orm.MapperExtension): def before_insert( self, mapper, connection, instance): assert (instance.__class__ is not mapper.class_, 'load_only_object - no save: ' + str( instance.__class__) + ':'+str(mapper) ) before_update = before_delete = before_insert _mapext = _MapExt() and using that one on all mappers which should be readonly. svilen --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[sqlalchemy] Re: rev 3449 breaks MapperExtension?
On Friday 07 September 2007 20:25:50 Michael Bayer wrote: we've got plenty of MapperExtensions running. i dont see how you are getting mapper.extension to be your actual mapper, its supposed to point to a container called ExtensionCarrier ( unless, you are saying mapper.extension = _MapExt(). not supported, unless you want to provide a property-based patch for it). yes, i am setting it this way... okay, if thats not the proper way anymore, i'll have a look. Any other way to force a readonly mapper? its for mapping of (virtual) base classes that must not have instances. On Sep 7, 2007, at 11:12 AM, [EMAIL PROTECTED] wrote: or has something in MapperExt protocol changed? File dbcook/usage/samanager.py, line 189, in query_BASE_instances return session.query( m.plain ) File sqlalchemy/orm/session.py, line 638, in query q = self._query_cls(mapper_or_class, self, **kwargs) File sqlalchemy/orm/query.py, line 31, in __init__ self._extension = self.mapper.extension.copy() AttributeError: '_MapExt' object has no attribute 'copy' i have very simple one, just for sanity checks: class _MapExt( sqlalchemy.orm.MapperExtension): def before_insert( self, mapper, connection, instance): assert (instance.__class__ is not mapper.class_, 'load_only_object - no save: ' + str( instance.__class__) + ':'+str(mapper) ) before_update = before_delete = before_insert _mapext = _MapExt() and using that one on all mappers which should be readonly. svilen --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[sqlalchemy] Re: rev 3449 breaks MapperExtension?
On Sep 7, 2007, at 3:06 PM, [EMAIL PROTECTED] wrote: On Friday 07 September 2007 20:25:50 Michael Bayer wrote: we've got plenty of MapperExtensions running. i dont see how you are getting mapper.extension to be your actual mapper, its supposed to point to a container called ExtensionCarrier ( unless, you are saying mapper.extension = _MapExt(). not supported, unless you want to provide a property-based patch for it). yes, i am setting it this way... okay, if thats not the proper way anymore, i'll have a look. Any other way to force a readonly mapper? a non-primary mapper is read only. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---