.. 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
aliased, from_joinpoint = kwargs.pop('aliased', False),\
kwargs.pop('from_joinpoint', False)
if kwargs:
- raise TypeError("unknown arguments: %s" % ', '.join(kwargs))
+ raise TypeError("unknown arguments: %s" %
+ ', '.join(sorted(kwargs)))
return self._join(props,
outerjoin=False, create_aliases=aliased,
from_joinpoint=from_joinpoint)
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