From cc9c615c5af8480c2a32d00a1f0d705f11676040 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Tue, 3 Nov 2009 04:54:56 +0000 Subject: - Fixed the call to get_committed_value() on CompositeProperty. [ticket:1504] --- lib/sqlalchemy/orm/mapper.py | 2 +- lib/sqlalchemy/orm/properties.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'lib/sqlalchemy') diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index 6bc55c831..d6bb2b2e6 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -1628,7 +1628,7 @@ class Mapper(object): if polymorphic_on is not None: discriminator = row[polymorphic_on] - if discriminator is not None: + if discriminator is not None or None in polymorphic_instances: _instance = polymorphic_instances[discriminator] if _instance: return _instance(row, result) diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index 1ca71390c..1fd7d48a9 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -161,7 +161,8 @@ class CompositeProperty(ColumnProperty): return self.get_col_value(column, obj) def getcommitted(self, state, column, passive=False): - obj = state.get_impl(self.key).get_committed_value(state, passive=passive) + # TODO: no coverage here + obj = state.get_impl(self.key).get_committed_value(state, state.dict, passive=passive) return self.get_col_value(column, obj) def setattr(self, state, value, column): -- cgit v1.2.1