[Sqlalchemy-tickets] Issue #4365: dont assume _from_obj[0] when joining without a clear "left" side
Brought to you by:
zzzeek
From: Michael B. <iss...@bi...> - 2018-11-12 21:14:42
|
New issue 4365: dont assume _from_obj[0] when joining without a clear "left" side https://bitbucket.org/zzzeek/sqlalchemy/issues/4365/dont-assume-_from_obj-0-when-joining Michael Bayer: this would allow us to fix the hack in #4363 ``` #!python def test_join_entity_from_multiple_from_clause(self): """test adding joins onto multiple FROM clauses""" User, Address = (self.classes.User, self.classes.Address) sess = create_session() q = sess.query(Address, User).join(Address.dingaling).\ join(User.orders) a1 = aliased(Address) assert_raises_message( sa.exc.InvalidRequestError, "Can't determine which FROM clause to join from, there are " "multiple FROMS which can join to this entity", q.join, a1 ) def test_join_entity_w_onclause_from_multiple_from_clause(self): """test adding joins onto multiple FROM clauses""" User, Order, Address = (self.classes.User, self.classes.Order, self.classes.Address) sess = create_session() q = sess.query(Address, User).join(Address.dingaling).\ join(User.orders) a1 = aliased(Address) q = q.join(a1, Order.address_id == a1.id) self.assert_compile( q, "< query works >" ) ``` |