diff --git a/config/settings.py b/config/settings.py index 01f935418d..737836c688 100644 --- a/config/settings.py +++ b/config/settings.py @@ -42,6 +42,7 @@ INSTALLED_APPS = [ 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', + 'django_admin_listfilter_dropdown', 'django_extensions', "ultron.core", 'ultron.location', diff --git a/requirements/base.txt b/requirements/base.txt index 1224444860..a9ff3c3888 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,6 +1,7 @@ Django==3.2.8 django-environ==0.8.1 django-extensions==3.1.3 +django-admin-list-filter-dropdown==1.0.3 Markdown==3.3.4 pendulum==2.1.2 simplejson==3.17.5 diff --git a/ultron/objective/admin.py b/ultron/objective/admin.py index 5768ed93b7..7e31595197 100644 --- a/ultron/objective/admin.py +++ b/ultron/objective/admin.py @@ -2,6 +2,12 @@ from django.contrib import admin from django_extensions.admin import ForeignKeyAutocompleteAdmin +from django_admin_listfilter_dropdown.filters import ( + DropdownFilter, + ChoiceDropdownFilter, + RelatedDropdownFilter +) + from .models import TouchPosition, Skill, Routine, RoutineSkill @@ -64,13 +70,13 @@ class SkillAdmin(ForeignKeyAutocompleteAdmin): search_fields = ("rank", "long_label", "short_label") list_filter = ( "is_competitive", - "difficulty", - "departure", - "landing", - "level", - "rank", - "rotation_type", - "rotation", + ('difficulty', DropdownFilter), + ('departure', RelatedDropdownFilter), + ('landing', RelatedDropdownFilter), + ('level', DropdownFilter), + ('rank', DropdownFilter), + 'rotation_type', + ('rotation', DropdownFilter), ) filter_horizontal = ("educatives", "prerequisites")