diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-03-30 18:05:33 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-03-30 18:05:33 +0000 |
commit | 6aaa74e2833817c7a13242139dc27663e57ea921 (patch) | |
tree | 14bf1bafbe860be4ca4c87de9bf7306968f84758 /test/orm/query.py | |
parent | 0f0b9552fb4523b1c373492495b2bb72478514b5 (diff) | |
download | sqlalchemy-6aaa74e2833817c7a13242139dc27663e57ea921.tar.gz |
- added _from_self()
- changelog authoring
Diffstat (limited to 'test/orm/query.py')
-rw-r--r-- | test/orm/query.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/orm/query.py b/test/orm/query.py index a4dbb938d..b985202b4 100644 --- a/test/orm/query.py +++ b/test/orm/query.py @@ -408,6 +408,22 @@ class FilterTest(QueryTest): # o2m self.assertEquals([User(id=10)], sess.query(User).filter(User.addresses==None).all()) self.assertEquals([User(id=7),User(id=8),User(id=9)], sess.query(User).filter(User.addresses!=None).all()) + +class FromSelfTest(QueryTest): + def test_filter(self): + + assert [User(id=8), User(id=9)] == create_session().query(User).filter(User.id.in_([8,9]))._from_self().all() + + assert [User(id=8), User(id=9)] == create_session().query(User)[1:3]._from_self().all() + assert [User(id=8)] == list(create_session().query(User).filter(User.id.in_([8,9]))._from_self()[0:1]) + + def test_join(self): + assert [ + (User(id=8), Address(id=2)), + (User(id=8), Address(id=3)), + (User(id=8), Address(id=4)), + (User(id=9), Address(id=5)) + ] == create_session().query(User).filter(User.id.in_([8,9]))._from_self().join('addresses').add_entity(Address).all() class AggregateTest(QueryTest): def test_sum(self): |