Я делаю то же самое, что и документация, но когда я набираю значение в поле «имя» и нажимаю «Фильтр», страница обновляется, но ничего не фильтруется.Следуйте моему коду.
filter.py
class ClientFilter(django_filters.FilterSet):
class Meta:
model = Client
fields = ['name']
views.py
class RelatorioClientsView(FilterView, ExportMixin, CustomListView):
template_name = 'relatorios/clients/geral.html'
model = Client
table_class = ClientTable
context_object_name = 'all_clients'
permission_codename = 'view_clients'
filterset_class = ClientFilter
def get_context_data(self, **kwargs):
context = super(RelatorioClientsView,
self).get_context_data(**kwargs)
table = ClientTable(Client.objects.all())
table.paginate(page=self.request.GET.get('page', 1), per_page=15)
context['table'] = table
RequestConfig(self.request).configure(table) #ordena
return context
таблиц.py
class ClientTable(ColumnShiftTable):
class Meta:
model = Client
sequence = ('id', 'name')
template_name = 'django_tables2/bootstrap.html'
template.html
{% load render_table from django_tables2 %}
{% load bootstrap3 %}
{% if filter %}
<form action="" method="get" class="form form-inline">
{% bootstrap_form filter.form layout='inline' %}
{% bootstrap_button 'filter' %}
</form>
{% endif %}
{% render_table table' %}
Здесь - ссылка на часть документации для фильтра