diff options
Diffstat (limited to 'test/ext/test_declarative.py')
-rw-r--r-- | test/ext/test_declarative.py | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/test/ext/test_declarative.py b/test/ext/test_declarative.py index 3069c2bfe..69042b5c8 100644 --- a/test/ext/test_declarative.py +++ b/test/ext/test_declarative.py @@ -1,6 +1,6 @@ from test.lib.testing import eq_, assert_raises, \ - assert_raises_message + assert_raises_message, is_ from sqlalchemy.ext import declarative as decl from sqlalchemy import exc import sqlalchemy as sa @@ -1855,6 +1855,23 @@ class DeclarativeInheritanceTest(DeclarativeTestBase): eq_(sess.query(Engineer).filter_by(primary_language='cobol' ).one(), Engineer(name='vlad', primary_language='cobol')) + def test_polymorphic_on_converted_from_inst(self): + class A(Base): + __tablename__ = 'A' + id = Column(Integer, primary_key=True) + discriminator = Column(String) + + @declared_attr + def __mapper_args__(cls): + return { + 'polymorphic_identity': cls.__name__, + 'polymorphic_on': cls.discriminator + } + + class B(A): + pass + is_(B.__mapper__.polymorphic_on, A.__table__.c.discriminator) + def test_add_deferred(self): class Person(Base, fixtures.ComparableEntity): |