From 78dd4dd7c5fad4a23bff2555799f71a0034e4300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Leichtfu=C3=9F?= Date: Sat, 5 Sep 2020 10:43:16 +0200 Subject: [PATCH] some comments and code cleanup --- more_filters/filters.py | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/more_filters/filters.py b/more_filters/filters.py index 1a7fa94..bfb55ea 100644 --- a/more_filters/filters.py +++ b/more_filters/filters.py @@ -14,6 +14,24 @@ from django.contrib.admin.filters import RelatedFieldListFilter from django.contrib.admin.filters import RelatedOnlyFieldListFilter +# Generic filter using a dropdown widget instead of a list. +class DropdownFilter(AllValuesFieldListFilter): + template = 'dropdownfilter.html' + + +class ChoicesDropdownFilter(ChoicesFieldListFilter): + template = 'dropdownfilter.html' + + +class RelatedDropdownFilter(RelatedFieldListFilter): + template = 'dropdownfilter.html' + + +class RelatedOnlyDropdownFilter(RelatedOnlyFieldListFilter): + template = 'dropdownfilter.html' + + +# Generic filter supporting multiple selection. class MultiSelectMixin(object): def queryset(self, request, queryset): params = Q() @@ -219,22 +237,7 @@ class MultiSelectRelatedDropdownFilter(MultiSelectRelatedFilter): } -class DropdownFilter(AllValuesFieldListFilter): - template = 'dropdownfilter.html' - - -class ChoicesDropdownFilter(ChoicesFieldListFilter): - template = 'dropdownfilter.html' - - -class RelatedDropdownFilter(RelatedFieldListFilter): - template = 'dropdownfilter.html' - - -class RelatedOnlyDropdownFilter(RelatedOnlyFieldListFilter): - template = 'dropdownfilter.html' - - +# Filter for annotated attributes. class BaseAnnotationFilter(admin.ListFilter): """ Baseclass for annotation-list-filters.