Commit 280beb14 authored by Serge S. Koval's avatar Serge S. Koval

Peewee: fixed sorting for related model columns

parent 5c77e899
...@@ -43,7 +43,7 @@ class PostAdmin(peeweemodel.ModelView): ...@@ -43,7 +43,7 @@ class PostAdmin(peeweemodel.ModelView):
# List of columns that can be sorted. For 'user' column, use User.username as # List of columns that can be sorted. For 'user' column, use User.username as
# a column. # a column.
#sortable_columns = ('title', ('user', User.username), 'date') sortable_columns = ('title', ('user', User.email), 'date')
searchable_columns = ('title', User.username) searchable_columns = ('title', User.username)
......
...@@ -211,7 +211,14 @@ class ModelView(BaseModelView): ...@@ -211,7 +211,14 @@ class ModelView(BaseModelView):
if isinstance(sort_field, basestring): if isinstance(sort_field, basestring):
query = query.order_by((sort_field, sort_desc and 'desc' or 'asc')) query = query.order_by((sort_field, sort_desc and 'desc' or 'asc'))
elif isinstance(sort_field, Field): elif isinstance(sort_field, Field):
query = query.order_by((sort_column, sort_desc and 'desc' or 'asc')) print sort_field
if sort_field.model != self.model:
query = self._handle_join(query, sort_field, joins)
query = query.order_by((sort_field.model, sort_field.name, sort_desc and 'desc' or 'asc'))
else:
query = query.order_by((sort_column, sort_desc and 'desc' or 'asc'))
# Pagination # Pagination
if page is not None: if page is not None:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment