我有四个不同的模型具有相同的结构(相同的列数和相同的列名),这四个模型属于不同的类别。我想使用一些过滤器字段来过滤每个模型中的数据,并且我希望这些相同的过滤器适用于同一实例中的所有模型,并将所有模型中的所有过滤数据显示在一个视图中。 我正在使用django-filters第三方库。以下是模型的示例过滤器。
filters.py
import django_filters
from django_select2 import *
from django_filters import STRICTNESS
from django_filters.widgets import RangeWidget
from InputForms.models import Reportable
class RFilter(django_filters.FilterSet):
Date = django_filters.DateFromToRangeFilter(widget=RangeWidget(attrs={'placeholder': 'YYYY/MM/DD'}))
class Meta:
model = Reportable
fields = ['Cause','TypeOfEmployee','Date','UnitName','Shift']
strict = STRICTNESS.RETURN_NO_RESULTS
views.py
from django.shortcuts import render
from .filters import *
from InputForms.models import Reportable
def RFView(request):
f = RFilter(request.GET, queryset=Reportable.objects.all())
return render(request, 'template.html', {'filter': f,'Header':"Reportable"})
template.html
<h3>{{ Header }}</h3>
<form action="" method="get">
{{ filter.form.as_table }}
{{ list_filter }}
<input type="submit" />
</form>
{% load render_table from django_tables2 %}
{% render_table filter.qs %}