diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-05-24 11:12:39 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-05-24 11:12:39 -0400 |
| commit | e2c612d24d714ba2a4fb805d9e7bdb9023dc0af8 (patch) | |
| tree | e47cf33b84de0f7a0faccf15502ead1f3e842f2a /test/ext | |
| parent | 33986147a3aff8f10976aabbe860ce3dae8e8ca3 (diff) | |
| download | sqlalchemy-e2c612d24d714ba2a4fb805d9e7bdb9023dc0af8.tar.gz | |
get __clause_element__ for remote()/foreign() annotation, [ticket:2493]
Diffstat (limited to 'test/ext')
| -rw-r--r-- | test/ext/test_declarative.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/ext/test_declarative.py b/test/ext/test_declarative.py index 1d9f7f39b..36cd598ab 100644 --- a/test/ext/test_declarative.py +++ b/test/ext/test_declarative.py @@ -266,6 +266,29 @@ class DeclarativeTest(DeclarativeTestBase): "does not have a mapped column named " "'__table__'", configure_mappers) + def test_string_w_pj_annotations(self): + + class User(Base, fixtures.ComparableEntity): + __tablename__ = 'users' + id = Column(Integer, primary_key=True, + test_needs_autoincrement=True) + name = Column(String(50)) + class Address(Base, fixtures.ComparableEntity): + + __tablename__ = 'addresses' + id = Column(Integer, primary_key=True, + test_needs_autoincrement=True) + email = Column(String(50)) + user_id = Column(Integer) + user = relationship("User", + primaryjoin="remote(User.id)==foreign(Address.user_id)" + ) + + eq_( + Address.user.property._join_condition.local_remote_pairs, + [(Address.__table__.c.user_id, User.__table__.c.id)] + ) + def test_string_dependency_resolution_no_magic(self): """test that full tinkery expressions work as written""" |
