Add field_name attribute for build_date_filter

This commit is contained in:
arthur 2016-05-07 21:09:58 +02:00
parent 9872521f6f
commit 77fd9401bb
2 changed files with 7 additions and 6 deletions

View file

@ -100,18 +100,18 @@ def build_list_filter(request, model_admin, queryset):
return type(type_str('%sFilterSet' % queryset.model.__name__),(django_filters.FilterSet, ),filterset_dict,)(request.GET, queryset=queryset)
def build_date_filter(request, model_admin, queryset):
def build_date_filter(request, model_admin, queryset, field_name="published_date"):
filterset_dict = {
"year": NumericDateFilter(
name="published_date",
name=field_name,
lookup_type="year",
),
"month": NumericDateFilter(
name="published_date",
name=field_name,
lookup_type="month",
),
"day": NumericDateFilter(
name="published_date",
name=field_name,
lookup_type="day",
)
}

View file

@ -186,7 +186,7 @@ class ModelListView(AdminModel2Mixin, generic.ListView):
queryset = self.build_list_filter(queryset).qs
if self.model_admin.date_hierarchy:
queryset = self.build_date_filter(queryset).qs
queryset = self.build_date_filter(queryset, self.model_admin.date_hierarchy).qs
queryset = self._modify_queryset_for_sort(queryset)
@ -233,7 +233,7 @@ class ModelListView(AdminModel2Mixin, generic.ListView):
)
return self._list_filter
def build_date_filter(self, queryset=None):
def build_date_filter(self, queryset=None, field_name=None):
if not hasattr(self, "_date_filter"):
if queryset is None:
queryset = self.get_queryset()
@ -241,6 +241,7 @@ class ModelListView(AdminModel2Mixin, generic.ListView):
self.request,
self.model_admin,
queryset,
field_name
)
return self._date_filter