diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-04-02 14:53:28 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-04-02 14:53:28 +0000 |
| commit | 13cc1279f83f84b02d19ed8def0fcee09e9fddb1 (patch) | |
| tree | a8047306b11bd92dbb53cbb8ca50013260afbc78 /lib/sqlalchemy | |
| parent | 6010afb28f95c7050ca48ddd2e6f65ca6cbae5a1 (diff) | |
| download | sqlalchemy-13cc1279f83f84b02d19ed8def0fcee09e9fddb1.tar.gz | |
- Fixed bug in relation(), introduced in 0.5.3,
whereby a self referential relation
from a base class to a joined-table subclass would
not configure correctly.
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/properties.py | 6 | ||||
| -rw-r--r-- | lib/sqlalchemy/sql/util.py | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/properties.py b/lib/sqlalchemy/orm/properties.py index b9fe1c0f8..398cbe5d9 100644 --- a/lib/sqlalchemy/orm/properties.py +++ b/lib/sqlalchemy/orm/properties.py @@ -1021,7 +1021,11 @@ class RelationProperty(StrategizedProperty): def _refers_to_parent_table(self): - return self.parent.mapped_table is self.target + for c, f in self.synchronize_pairs: + if c.table is f.table: + return True + else: + return False def _is_self_referential(self): return self.mapper.common_parent(self.parent) diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index a8de5c635..36357faf5 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -45,6 +45,7 @@ def find_join_source(clauses, join_to): return i, f else: return None, None + def find_tables(clause, check_columns=False, include_aliases=False, include_joins=False, include_selects=False): """locate Table objects within the given expression.""" |
