summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/orm/mapper.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/orm/mapper.py')
-rw-r--r--lib/sqlalchemy/orm/mapper.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py
index 33a474576..5e8d25647 100644
--- a/lib/sqlalchemy/orm/mapper.py
+++ b/lib/sqlalchemy/orm/mapper.py
@@ -45,6 +45,7 @@ from .. import log
from .. import schema
from .. import sql
from .. import util
+from ..sql import base as sql_base
from ..sql import coercions
from ..sql import expression
from ..sql import operators
@@ -1455,7 +1456,11 @@ class Mapper(InspectionAttr):
def _configure_properties(self):
# Column and other ClauseElement objects which are mapped
- self.columns = self.c = util.OrderedProperties()
+
+ # TODO: technically this should be a DedupeColumnCollection
+ # however DCC needs changes and more tests to fully cover
+ # storing columns under a separate key name
+ self.columns = self.c = sql_base.ColumnCollection()
# object attribute names mapped to MapperProperty objects
self._props = util.OrderedDict()
@@ -1781,7 +1786,7 @@ class Mapper(InspectionAttr):
or prop.columns[0] is self.polymorphic_on
)
- self.columns[key] = col
+ self.columns.add(col, key)
for col in prop.columns + prop._orig_columns:
for col in col.proxy_set:
self._columntoproperty[col] = prop