diff options
Diffstat (limited to 'lib/sqlalchemy/sql')
-rw-r--r-- | lib/sqlalchemy/sql/util.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/sqlalchemy/sql/util.py b/lib/sqlalchemy/sql/util.py index d5575e0e7..4c59f50d5 100644 --- a/lib/sqlalchemy/sql/util.py +++ b/lib/sqlalchemy/sql/util.py @@ -15,10 +15,13 @@ def sort_tables(tables): parent_table = fkey.column.table if parent_table in tables: child_table = fkey.parent.table - tuples.append( ( parent_table, child_table ) ) + if parent_table is not child_table: + tuples.append((parent_table, child_table)) for table in tables: - visitors.traverse(table, {'schema_visitor':True}, {'foreign_key':visit_foreign_key}) + visitors.traverse(table, + {'schema_visitor':True}, + {'foreign_key':visit_foreign_key}) return topological.sort(tuples, tables) def find_join_source(clauses, join_to): |