我试图在我的django-tables 2中添加一个过滤器功能,所以我选择了django-filter。我遵循了文档,它工作得很好,但我不知道如何将它与django-tables 2集成。我创建了一个filter类,在视图中,我做了如下所示:
queryset = Fitzroyfalls.objects.select_related().all()
f = FitzroyfallsFilter(request.GET, queryset=queryset)
table = FitsroyFallsTable(f.queryset)
table.paginate(page=request.GET.get('page', 1), per_page=25)
RequestConfig(request).configure(table)
return render(request, 'query.html', {'table': table})但是什么都没有发生,它只显示包含所有数据的表。
发布于 2013-09-25 12:09:32
经过几个小时的努力,我得到了一个简单的解决方案。在视图中添加以下行:
if request.method == "GET"
list1=list()
for obj in f:
list1.append(obj)
table=FitsroyFallsTable(list1)就这样!
发布于 2013-11-08 23:10:50
我检查了FilterSet的FilterSet方法,它基本上访问了property qs。所以@huiming的答案对我有用。我对您的代码进行了如下修改:
queryset = Fitzroyfalls.objects.select_related().all()
f = FitzroyfallsFilter(request.GET, queryset=queryset)
table = FitsroyFallsTable(f.qs)
RequestConfig(request, paginate={"per_page": 25, "page": 1}).configure(table)
return render(request, 'query.html', {'table': table, 'filter': f})我在用:
django-filter==0.7
django-tables2==0.14.0
Django==1.6发布于 2013-10-07 21:51:01
表= FitsroyFallsTable(f.qs)
https://stackoverflow.com/questions/18984157
复制相似问题