diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-03-21 04:38:54 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-03-21 04:38:54 +0000 |
commit | e5d2ac6a11f932f01281b8495494e28c1233856a (patch) | |
tree | 59d40351ac80a34674c10501480093dcfe48b2b7 /lib/sqlalchemy/mapping/properties.py | |
parent | 85bc3613e87001369bbcd68045dd5fa77acb0cbd (diff) | |
download | sqlalchemy-e5d2ac6a11f932f01281b8495494e28c1233856a.tar.gz |
a few changes to attributes.py to allow faster initialization of object attributes on new objects
Diffstat (limited to 'lib/sqlalchemy/mapping/properties.py')
-rw-r--r-- | lib/sqlalchemy/mapping/properties.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/sqlalchemy/mapping/properties.py b/lib/sqlalchemy/mapping/properties.py index 4d04997a6..ff3d1548c 100644 --- a/lib/sqlalchemy/mapping/properties.py +++ b/lib/sqlalchemy/mapping/properties.py @@ -714,6 +714,9 @@ class EagerLoader(PropertyLoader): #print "new eagertqarget", p.eagertarget.name, (p.secondary and p.secondary.name or "none"), p.parent.table.name finally: del recursion_stack[self.parent.table] + + self._row_decorator = self._create_decorator_row() + self._eager_chained = True def _aliasize_orderby(self, orderby, copy=True): @@ -758,7 +761,6 @@ class EagerLoader(PropertyLoader): for key, value in self.mapper.props.iteritems(): value.setup(key, statement, eagertable=self.eagertarget) - self._decorator_row = self._create_decorator_row() def execute(self, instance, row, identitykey, imap, isnew): """receive a row. tell our mapper to look for a new object instance in the row, and attach @@ -809,7 +811,7 @@ class EagerLoader(PropertyLoader): # (neither do any MapperExtensions). The row is keyed off the Column object # (which is what mappers use) as well as its "label" (which might be what # user-defined code is using) - row = self._decorator_row(row) + row = self._row_decorator(row) return self.mapper._instance(row, imap, result_list) class GenericOption(MapperOption): |