summaryrefslogtreecommitdiff
path: root/test/orm/query.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/orm/query.py')
-rw-r--r--test/orm/query.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/test/orm/query.py b/test/orm/query.py
index ab20754df..76c926807 100644
--- a/test/orm/query.py
+++ b/test/orm/query.py
@@ -929,7 +929,17 @@ class JoinTest(QueryTest):
sess.query(User).join([('orders', orderalias), ('items', itemalias)]).filter(orderalias.user_id==9).filter(itemalias.description=='item 4').all(),
[]
)
-
+
+ def test_multiple_with_aliases(self):
+ sess = create_session()
+
+ ualias = aliased(User)
+ oalias1 = aliased(Order)
+ oalias2 = aliased(Order)
+ result = sess.query(ualias).join((oalias1, ualias.orders), (oalias2, ualias.orders)).\
+ filter(or_(oalias1.user_id==9, oalias2.user_id==7)).all()
+ self.assertEquals(result, [User(id=7,name=u'jack'), User(id=9,name=u'fred')])
+
def test_orderby_arg_bug(self):
sess = create_session()
# no arg error
@@ -1377,7 +1387,7 @@ class InstancesTest(QueryTest, AssertsCompiledSQL):
ialias = aliased(Item)
def go():
l = q.options(contains_eager(User.orders, alias=oalias), contains_eager(User.orders, Order.items, alias=ialias)).\
- outerjoin((oalias, User.orders), (ialias, Order.items)).order_by(User.id, oalias.id, ialias.id)
+ outerjoin((oalias, User.orders), (ialias, oalias.items)).order_by(User.id, oalias.id, ialias.id)
assert fixtures.user_order_result == l.all()
self.assert_sql_count(testing.db, go, 1)
sess.clear()