From c8b50c1ffb4ab104144ef9058fa4c653b10ad915 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 23 Jan 2008 19:20:49 +0000 Subject: - query.join() can also accept tuples of attribute name/some selectable as arguments. This allows construction of joins *from* subclasses of a polymorphic relation, i.e.: query(Company).\ join( [('employees', people.join(engineer)), Engineer.name] ) --- lib/sqlalchemy/sql/expression.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'lib/sqlalchemy/sql/expression.py') diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index c60341802..aff8654f2 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -2202,6 +2202,9 @@ class Join(FromClause): return "Join object on %s(%d) and %s(%d)" % (self.left.description, id(self.left), self.right.description, id(self.right)) description = property(description) + def is_derived_from(self, fromclause): + return fromclause is self or self.left.is_derived_from(fromclause) or self.right.is_derived_from(fromclause) + def self_group(self, against=None): return _FromGrouping(self) -- cgit v1.2.1