summaryrefslogtreecommitdiff
path: root/test/orm/query.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-03-30 18:05:33 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-03-30 18:05:33 +0000
commit6aaa74e2833817c7a13242139dc27663e57ea921 (patch)
tree14bf1bafbe860be4ca4c87de9bf7306968f84758 /test/orm/query.py
parent0f0b9552fb4523b1c373492495b2bb72478514b5 (diff)
downloadsqlalchemy-6aaa74e2833817c7a13242139dc27663e57ea921.tar.gz
- added _from_self()
- changelog authoring
Diffstat (limited to 'test/orm/query.py')
-rw-r--r--test/orm/query.py16
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):