.. changelog::
:version: 0.9.9
+ .. change::
+ :tags: bug, orm
+ :pullreq: github:147
+
+ Fixed bug where TypeError raised when :meth:`.Query.join` called
+ with unknown kw arguments would raise its own TypeError due
+ to broken formatting. Pull request courtesy Malthe Borch.
+
.. change::
:tags: bug, engine
:tickets: 3302
kwargs.pop('isouter', False)
if kwargs:
raise TypeError("unknown arguments: %s" %
- ','.join(kwargs))
+ ', '.join(sorted(kwargs)))
isouter = isouter
return self._join(props,
outerjoin=isouter, create_aliases=aliased,
kwargs.pop('from_joinpoint', False)
if kwargs:
raise TypeError("unknown arguments: %s" %
- ','.join(kwargs))
+ ', '.join(sorted(kwargs)))
return self._join(props,
outerjoin=True, create_aliases=aliased,
from_joinpoint=from_joinpoint)
"ON addresses.id = orders.address_id"
)
+ def test_invalid_kwarg_join(self):
+ User = self.classes.User
+ sess = create_session()
+ assert_raises_message(
+ TypeError,
+ "unknown arguments: bar, foob",
+ sess.query(User).join, "address", foob="bar", bar="bat"
+ )
+ assert_raises_message(
+ TypeError,
+ "unknown arguments: bar, foob",
+ sess.query(User).outerjoin, "address", foob="bar", bar="bat"
+ )
+
def test_left_is_none(self):
User = self.classes.User
Address = self.classes.Address