diff --git a/sqlalchemy_utils/functions/foreign_keys.py b/sqlalchemy_utils/functions/foreign_keys.py index 6a90b1c..9157580 100644 --- a/sqlalchemy_utils/functions/foreign_keys.py +++ b/sqlalchemy_utils/functions/foreign_keys.py @@ -7,7 +7,7 @@ from sqlalchemy.exc import NoInspectionAvailable from sqlalchemy.orm import object_session from sqlalchemy.schema import MetaData, Table, ForeignKeyConstraint -from .orm import get_mapper, get_tables +from .orm import get_column_key, get_mapper, get_tables from ..query_chain import QueryChain @@ -296,14 +296,11 @@ def _get_criteria(keys, class_, obj): subcriteria = [] for index, column in enumerate(key.constraint.columns): - prop = sa.inspect(class_).get_property_by_column( - column - ) foreign_column = ( key.constraint.elements[index].column ) subcriteria.append( - getattr(class_, prop.key) == + getattr(class_, get_column_key(class_, column)) == getattr( obj, sa.inspect(type(obj)) diff --git a/tests/functions/test_dependent_objects.py b/tests/functions/test_dependent_objects.py index c9a904b..06b4876 100644 --- a/tests/functions/test_dependent_objects.py +++ b/tests/functions/test_dependent_objects.py @@ -271,7 +271,6 @@ class TestDependentObjectsWithSingleTableInheritance(TestCase): 'polymorphic_identity': u'blog_post' } - self.Category = Category self.TextItem = TextItem self.Article = Article