diff --git a/tests/__init__.py b/tests/__init__.py index db65baa..53ba079 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -65,6 +65,7 @@ class TestCase(object): return ( sa.select([sa.func.count(self.Article.id)]) .where(self.Article.category_id == self.Category.id) + .correlate(self.Article.__table__) .label('article_count') ) diff --git a/tests/test_sort_query.py b/tests/test_sort_query.py index 31a83c4..b9520df 100644 --- a/tests/test_sort_query.py +++ b/tests/test_sort_query.py @@ -106,3 +106,12 @@ class TestSortQuery(TestCase): 'ORDER BY (SELECT count(article.id) AS count_1' ) in str(query) assert ' DESC' in str(query) + + def test_sort_by_related_hybrid_property(self): + query = ( + self.session.query(self.Article) + .join(self.Article.category) + .correlate(self.Article.__table__) + ) + query = sort_query(query, '-category-articles_count') + assert 'ORDER BY (SELECT count(article.id) AS count_1' in str(query)