Refactored sorting_filters into a tuple and moved logic for retrieving sorting filters into the sort_view versus changelist_view.

Updated readme.
Updated sample project to leverage new sorting_filters on Person model and admin.
Removed custom change list template for Person admin.
This commit is contained in:
Brandon Taylor
2014-03-05 09:10:47 -05:00
parent af6c8f2e15
commit 80bdaafdc3
9 changed files with 70 additions and 51 deletions
+1 -2
View File
@@ -61,7 +61,6 @@ admin.site.register(Project, ProjectAdmin)
class PersonAdmin(SortableAdmin):
sortable_change_list_with_sort_link_template = 'app/person/admin/change_list_with_sort_link.html'
list_display = ['__unicode__', 'is_board_member']
admin.site.register(Person, PersonAdmin)
+10 -3
View File
@@ -83,7 +83,7 @@ class GenericNote(SimpleModel, Sortable):
pass
def __unicode__(self):
return u'{0} : {1}'.format(self.title, self.content_object)
return u'{}: {}'.format(self.title, self.content_object)
# An model registered as an inline that has a custom queryset
@@ -103,9 +103,16 @@ class Person(Sortable):
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
is_board_member = models.BooleanField(default=False)
is_board_member = models.BooleanField('Board Member', default=False)
sorting_filters = {'is_board_member': True}
# Sorting Filters allow you to set up sub-sets of objects that need
# to have independent sorting. They are listed in order, from left
# to right in the sorting change list. You can use any standard
# Django ORM filter method.
sorting_filters = (
('Board Members', {'is_board_member': True}),
('Non-Board Members', {'is_board_member': False}),
)
def __unicode__(self):
return '{} {}'.format(self.first_name, self.last_name)