From 92535b4b575874a6c0f0392cab46300fe59107ee Mon Sep 17 00:00:00 2001 From: Richard Mitchell Date: Tue, 27 Nov 2012 14:03:42 +0000 Subject: Allow use of synonyms in primaryjoin / secondaryjoin conditions --- lib/sqlalchemy/ext/declarative/clsregistry.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/sqlalchemy') diff --git a/lib/sqlalchemy/ext/declarative/clsregistry.py b/lib/sqlalchemy/ext/declarative/clsregistry.py index a0e177f77..0ae10b25a 100644 --- a/lib/sqlalchemy/ext/declarative/clsregistry.py +++ b/lib/sqlalchemy/ext/declarative/clsregistry.py @@ -9,7 +9,8 @@ This system allows specification of classes and expressions used in :func:`.relationship` using strings. """ -from ...orm.properties import ColumnProperty, RelationshipProperty +from ...orm.properties import ColumnProperty, RelationshipProperty, \ + SynonymProperty from ...schema import _get_table_key from ...orm import class_mapper from ... import util @@ -195,7 +196,9 @@ class _GetColumns(object): % (self.cls, key)) prop = mp.get_property(key) - if not isinstance(prop, ColumnProperty): + if isinstance(prop, SynonymProperty): + key = prop.name + elif not isinstance(prop, ColumnProperty): raise exc.InvalidRequestError( "Property %r is not an instance of" " ColumnProperty (i.e. does not correspond" -- cgit v1.2.1