From: Mike Bayer Date: Fri, 11 Oct 2013 20:49:36 +0000 (-0400) Subject: use accepts scalar loader here so we deal with _ProxyImpl correctly X-Git-Tag: rel_0_9_0b1~48 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=eabf41b392ac042228765c9b95138522e44365e7;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git use accepts scalar loader here so we deal with _ProxyImpl correctly --- diff --git a/lib/sqlalchemy/orm/state.py b/lib/sqlalchemy/orm/state.py index 2c947a7acf..8d73c9426c 100644 --- a/lib/sqlalchemy/orm/state.py +++ b/lib/sqlalchemy/orm/state.py @@ -394,12 +394,10 @@ class InstanceState(interfaces._InspectionAttr): @property def _unloaded_non_object(self): - return self.unloaded.difference(self._uses_objects) - - @property - def _uses_objects(self): - return (attr for attr in self.manager - if self.manager[attr].impl.uses_objects) + return self.unloaded.intersection( + attr for attr in self.manager + if self.manager[attr].impl.accepts_scalar_loader + ) @property def expired_attributes(self): diff --git a/test/orm/test_unitofwork.py b/test/orm/test_unitofwork.py index a0f96838fd..67a11e3662 100644 --- a/test/orm/test_unitofwork.py +++ b/test/orm/test_unitofwork.py @@ -857,9 +857,11 @@ class DefaultTest(fixtures.MappedTest): Secondary = self.classes.Secondary mapper(Hoho, default_t, eager_defaults=True, properties={ - "sec": relationship(Secondary) + "sec": relationship(Secondary), + "syn": sa.orm.synonym(default_t.c.counter) }) + mapper(Secondary, self.tables.secondary_table) h1 = Hoho()