From eabf41b392ac042228765c9b95138522e44365e7 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 11 Oct 2013 16:49:36 -0400 Subject: [PATCH] use accepts scalar loader here so we deal with _ProxyImpl correctly --- lib/sqlalchemy/orm/state.py | 10 ++++------ test/orm/test_unitofwork.py | 4 +++- 2 files changed, 7 insertions(+), 7 deletions(-) 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() -- 2.47.3