summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2009-11-03 04:54:56 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2009-11-03 04:54:56 +0000
commitcc9c615c5af8480c2a32d00a1f0d705f11676040 (patch)
tree205e58e407ae5ad1c26debcfac61b9bf4ed313b4 /lib/sqlalchemy
parent659ca0c5088b2b6dcd66e33bb9aff79aaffc421a (diff)
downloadsqlalchemy-cc9c615c5af8480c2a32d00a1f0d705f11676040.tar.gz
- Fixed the call to get_committed_value() on CompositeProperty.
[ticket:1504]
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/orm/mapper.py2
-rw-r--r--lib/sqlalchemy/orm/properties.py3
2 files changed, 3 insertions, 2 deletions
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):