Add support for synonyms in sort_query
This commit is contained in:
@@ -8,6 +8,7 @@ Here you can see the full list of changes between each SQLAlchemy-Utils release.
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- Fixed order by column property handling in sort_query when using polymorphic inheritance
|
||||
- Added support for synonym properties in sort_query
|
||||
|
||||
|
||||
0.26.7 (2014-07-29)
|
||||
|
||||
2
setup.py
2
setup.py
@@ -44,7 +44,7 @@ for name, requirements in extras_require.items():
|
||||
|
||||
setup(
|
||||
name='SQLAlchemy-Utils',
|
||||
version='0.26.7',
|
||||
version='0.26.8',
|
||||
url='https://github.com/kvesteri/sqlalchemy-utils',
|
||||
license='BSD',
|
||||
author='Konsta Vesterinen, Ryan Leckey, Janne Vanhala, Vesa Uimonen',
|
||||
|
||||
@@ -74,7 +74,7 @@ from .types import (
|
||||
from .models import Timestamp
|
||||
|
||||
|
||||
__version__ = '0.26.7'
|
||||
__version__ = '0.26.8'
|
||||
|
||||
|
||||
__all__ = (
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.orm.properties import ColumnProperty
|
||||
from sqlalchemy.orm.properties import ColumnProperty, SynonymProperty
|
||||
from sqlalchemy.sql.expression import desc, asc, Label
|
||||
from sqlalchemy.orm.util import AliasedInsp
|
||||
from .orm import (
|
||||
@@ -49,6 +49,8 @@ class QuerySorter(object):
|
||||
return getattr(entity, property_.key)
|
||||
else:
|
||||
return get_expr_attr(entity, property_.key)
|
||||
elif isinstance(property_, SynonymProperty):
|
||||
return get_expr_attr(entity, property_.key)
|
||||
return
|
||||
|
||||
mapper = sa.inspect(entity)
|
||||
|
||||
@@ -129,7 +129,7 @@ class TestSortQuery(TestCase):
|
||||
def test_synonym_property(self):
|
||||
query = self.session.query(self.Category)
|
||||
query = sort_query(query, 'name_synonym')
|
||||
assert_contains('ORDER BY name DESC', query)
|
||||
assert_contains('ORDER BY category.name ASC', query)
|
||||
|
||||
def test_hybrid_property(self):
|
||||
query = self.session.query(self.Category)
|
||||
|
||||
Reference in New Issue
Block a user