From 48064bac1ded8484087a0f9f3ce6b7f05a970686 Mon Sep 17 00:00:00 2001 From: Konsta Vesterinen Date: Wed, 6 May 2015 11:07:33 +0300 Subject: [PATCH] Fix SA 1.0 compat --- sqlalchemy_utils/functions/foreign_keys.py | 4 ++-- tests/functions/test_non_indexed_foreign_keys.py | 13 ++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/sqlalchemy_utils/functions/foreign_keys.py b/sqlalchemy_utils/functions/foreign_keys.py index e1da428..81cd782 100644 --- a/sqlalchemy_utils/functions/foreign_keys.py +++ b/sqlalchemy_utils/functions/foreign_keys.py @@ -357,9 +357,9 @@ def is_indexed_foreign_key(constraint): :param constraint: ForeignKeyConstraint object to check the indexes """ return any( - set(column.name for column in index.columns) + set(constraint.columns.keys()) == - set(constraint.columns) + set(column.name for column in index.columns) for index in constraint.table.indexes ) diff --git a/tests/functions/test_non_indexed_foreign_keys.py b/tests/functions/test_non_indexed_foreign_keys.py index 4f8a30e..3c1791e 100644 --- a/tests/functions/test_non_indexed_foreign_keys.py +++ b/tests/functions/test_non_indexed_foreign_keys.py @@ -1,3 +1,5 @@ +from itertools import chain + import sqlalchemy as sa from sqlalchemy_utils.functions import non_indexed_foreign_keys @@ -43,8 +45,13 @@ class TestFindNonIndexedForeignKeys(TestCase): 'article' in fks ) - column_names = [ - column_name for column_name in fks['article'][0].columns.keys() - ] + column_names = list(chain( + *( + names for names in ( + fk.columns.keys() + for fk in fks['article'] + ) + ) + )) assert 'category_id' in column_names assert 'author_id' not in column_names