Full working code:
filters.py
:
from project_django.models import SomeModel
import django_filters
class UserFilter(django_filters.FilterSet):
class Meta:
model = SomeModel
fields = ['jobnumber', ]
views.py
:
def custom_table(request):
user_list = SomeModel.objects.all()
data = request.GET.copy()
if len(data) == 0:
data['jobnumber'] = 0
user_filter = UserFilter(data, queryset=user_list)
table1 = JobTable(user_filter.qs)
# WORKING: custom table with checkbox
RequestConfig(request).configure(table1)
# WORKING: custom table with checkbox
return render(request, 'index.html', {'table1': table1, 'filter': user_filter})
tables.py
:
import django_tables2 as tables
from .models import SomeModel
class JobTable(tables.Table):
selection = tables.CheckBoxColumn(accessor='pk')
#jobnumber = tables.Column()
class Meta:
model = SomeModel
index.html
:
{% load widget_tweaks %}
{% block content %}
<form method="get">
<div class="well">
<h4 style="margin-top: 0">Filter</h4>
<div class="row">
<div class="form-group col-sm-4 col-md-3">
{{ filter.form.as_p }}
<button type="submit">Search</button>
</div>
</div>
</div>
</div>
</form>
<form action="roll.html" method="post">
{% render_table table1 %}
<input type="submit">
</form>