summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorSebastian Bank <sebastian.bank@uni-leipzig.de>2014-12-04 14:34:08 +0100
committerSebastian Bank <sebastian.bank@uni-leipzig.de>2014-12-04 14:34:08 +0100
commit0e61acaf145f57c78a13fc5c20052e24472cfb02 (patch)
treeaf99b31429ddcbe6536a7bdb2af539884892b5d4 /lib/sqlalchemy
parent156f473de00024688404d73aea305cd4fc452638 (diff)
downloadsqlalchemy-0e61acaf145f57c78a13fc5c20052e24472cfb02.tar.gz
warn on duplicate polymorphic_identity
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/orm/mapper.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py
index 863dab5cb..0e0c1a833 100644
--- a/lib/sqlalchemy/orm/mapper.py
+++ b/lib/sqlalchemy/orm/mapper.py
@@ -974,6 +974,15 @@ class Mapper(InspectionAttr):
self._all_tables = self.inherits._all_tables
if self.polymorphic_identity is not None:
+ if self.polymorphic_identity in self.polymorphic_map:
+ util.warn(
+ "Reassigning polymorphic association for identity %r "
+ "from %r to %r: Check for duplicate use of %r as "
+ "value for polymorphic_identity." %
+ (self.polymorphic_identity,
+ self.polymorphic_map[self.polymorphic_identity],
+ self, self.polymorphic_identity)
+ )
self.polymorphic_map[self.polymorphic_identity] = self
else: