diff --git a/django_tables2_simplefilter/__init__.py b/django_tables2_simplefilter/__init__.py index 95285ce..46d5ccb 100644 --- a/django_tables2_simplefilter/__init__.py +++ b/django_tables2_simplefilter/__init__.py @@ -1,3 +1,3 @@ -from .views import FilteredSingleTableView, F +from .views import FilteredSingleTableView, FilteredSingleTableMixin, F diff --git a/django_tables2_simplefilter/views.py b/django_tables2_simplefilter/views.py index 132c7cf..f86aa5d 100644 --- a/django_tables2_simplefilter/views.py +++ b/django_tables2_simplefilter/views.py @@ -9,7 +9,7 @@ def F(field, verbose_name, values_list): return dict(field=field, verbose_name=verbose_name, values_list=values_list) -class FilteredSingleTableView(SingleTableView): +class FilteredSingleTableMixin(object): """ Add filtering options to SingleTableView. Define list of filters in the Table subclass (not in Table.Meta). Likely not secure. @@ -35,7 +35,7 @@ class MyTable(tables.Table): """ def get_queryset(self): - q = super(FilteredSingleTableView, self).get_queryset() + q = super(FilteredSingleTableMixin, self).get_queryset() if hasattr(self.table_class, 'filters'): h = {} for f in self.table_class.filters: @@ -46,7 +46,7 @@ def get_queryset(self): return q def get_context_data(self, **kwargs): - c = super(FilteredSingleTableView, self).get_context_data(**kwargs) + c = super(FilteredSingleTableMixin, self).get_context_data(**kwargs) if hasattr(self.table_class, 'filters'): h = [] for f in self.table_class.filters: @@ -72,3 +72,6 @@ def get_context_data(self, **kwargs): c['filters']['base_params'] = base_param_values return c + +class FilteredSingleTableView(FilteredSingleTableMixin, SingleTableView): + pass