diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-09-04 21:26:49 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2008-09-04 21:26:49 +0000 |
| commit | f432bd3550443fb27711e463b086deae7c3096df (patch) | |
| tree | fe344c23a69385a347b256f3a6356e388b0e865a /lib | |
| parent | c586c0fe892510a853168391ccb5528516dc56da (diff) | |
| download | sqlalchemy-f432bd3550443fb27711e463b086deae7c3096df.tar.gz | |
- Fixed exception throw which would occur when string-based
primaryjoin condition was used in conjunction with backref.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sqlalchemy/ext/declarative.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/sqlalchemy/ext/declarative.py b/lib/sqlalchemy/ext/declarative.py index 65af2da7a..85ccea648 100644 --- a/lib/sqlalchemy/ext/declarative.py +++ b/lib/sqlalchemy/ext/declarative.py @@ -374,6 +374,12 @@ def _deferred_relation(cls, prop): if isinstance(v, basestring): setattr(prop, attr, resolve_arg(v)) + if prop.backref: + for attr in ('primaryjoin', 'secondaryjoin'): + if attr in prop.backref.kwargs and isinstance(prop.backref.kwargs[attr], basestring): + prop.backref.kwargs[attr] = resolve_arg(prop.backref.kwargs[attr]) + + return prop def synonym_for(name, map_column=False): |
