From 9ec01ab35a6c0cfdae6ce8a5f84d5ccaf90a3c44 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 17 Mar 2014 16:25:51 -0400 Subject: - Improved an error message which would occur if a query() were made against a non-selectable, such as a :func:`.literal_column`, and then an attempt was made to use :meth:`.Query.join` such that the "left" side would be determined as ``None`` and then fail. This condition is now detected explicitly. --- lib/sqlalchemy/orm/query.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/sqlalchemy/orm') diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 81be0e63c..0f5b8bf88 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -1843,6 +1843,12 @@ class Query(object): elif self._entities: left = self._entities[0].entity_zero_or_selectable + if left is None: + raise sa_exc.InvalidRequestError( + "Don't know how to join from %s; please use " + "select_from() to establish the left " + "entity/selectable of this join" % self._entities[0]) + if left is right and \ not create_aliases: raise sa_exc.InvalidRequestError( -- cgit v1.2.1