From 084fb5e866b6844273dae0af654374ff0c260d12 Mon Sep 17 00:00:00 2001 From: Konsta Vesterinen Date: Sun, 29 Sep 2013 19:28:21 +0300 Subject: [PATCH] Added better relationship property handling --- sqlalchemy_utils/functions/sort_query.py | 4 +++- tests/test_sort_query.py | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sqlalchemy_utils/functions/sort_query.py b/sqlalchemy_utils/functions/sort_query.py index 2eaa2ba..468b774 100644 --- a/sqlalchemy_utils/functions/sort_query.py +++ b/sqlalchemy_utils/functions/sort_query.py @@ -94,7 +94,9 @@ class QuerySorter(object): expr = property_.columns[0].name else: expr = sort_expression(entity, property_.key) - return expr + return expr + else: + return if isinstance(entity, AliasedInsp): entity = entity.entity diff --git a/tests/test_sort_query.py b/tests/test_sort_query.py index 154e11e..3e14b9e 100644 --- a/tests/test_sort_query.py +++ b/tests/test_sort_query.py @@ -109,6 +109,11 @@ class TestSortQuery(TestCase): sorted_query = sort_query(query, '-article_count') assert 'article_count DESC' in str(sorted_query) + def test_relationship_property(self): + query = self.session.query(self.Category) + query = sort_query(query, 'articles') + assert 'ORDER BY' not in str(query) + def test_hybrid_property(self): query = self.session.query(self.Category) query = sort_query(query, 'articles_count')