Python Django过滤器:将多个模型(相同类型)的过滤数据收集到一个视图中

Python Django过滤器:将多个模型(相同类型)的过滤数据收集到一个视图中,python,django,django-views,django-tables2,django-filters,Python,Django,Django Views,Django Tables2,Django Filters,我有四个相同结构的不同模型(相同的列数和相同的列名),这四个模型属于不同的类别。我想使用一些过滤字段过滤来自每个模型的数据,我希望这些相同的过滤器适用于同一实例中的所有模型,并将来自所有模型的所有过滤数据显示在一个视图中。 我正在使用django过滤器第三方库。下面是一个模型的示例过滤器 过滤器.py import django_filters from django_select2 import * from django_filters import STRICTNESS from djan

我有四个相同结构的不同模型(相同的列数和相同的列名),这四个模型属于不同的类别。我想使用一些过滤字段过滤来自每个模型的数据,我希望这些相同的过滤器适用于同一实例中的所有模型,并将来自所有模型的所有过滤数据显示在一个视图中。 我正在使用django过滤器第三方库。下面是一个模型的示例过滤器

过滤器.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 %}
{{Header}
{{filter.form.as_table}
{{list_filter}}
{%load render_Tables from django_Tables 2%}
{%render_table filter.qs%}

虽然我手头上没有所有信息,但我建议重新构建您的数据库。如果所有的模型都是“一样的”,为什么它们不一样呢?您可以添加一个标志(带有
选项的
字符域
),以区分不同的“类别”。这会使你的问题变得微不足道,因为一开始就没有问题。我真的很感激你的回答,但我有大量的数据,如果我只有模型,就很难管理这么多。有没有办法将过滤器应用于所有型号?