Fixed hybrid property sorting
This commit is contained in:
@@ -71,7 +71,9 @@ class QuerySorter(object):
|
||||
|
||||
# Check hybrid properties.
|
||||
if hasattr(entity, sort['attr']):
|
||||
return self.query.order_by(getattr(entity, sort['attr']))
|
||||
return self.query.order_by(
|
||||
sort['func'](getattr(entity, sort['attr']))
|
||||
)
|
||||
|
||||
return self.query
|
||||
|
||||
|
@@ -98,3 +98,11 @@ class TestSortQuery(TestCase):
|
||||
query = self.session.query(self.Category)
|
||||
query = sort_query(query, 'articles_count')
|
||||
assert 'ORDER BY (SELECT count(article.id) AS count_1' in str(query)
|
||||
|
||||
def test_sort_by_hybrid_property_descending(self):
|
||||
query = self.session.query(self.Category)
|
||||
query = sort_query(query, '-articles_count')
|
||||
assert (
|
||||
'ORDER BY (SELECT count(article.id) AS count_1'
|
||||
) in str(query)
|
||||
assert ' DESC' in str(query)
|
||||
|
Reference in New Issue
Block a user