python - 如何在 Django 中结合过滤和分页?
问题描述
我是使用 Python 编程的新手。我想将分页与过滤器结合起来,但我发现的解决方案对我不起作用。这是我的看法
视图.py
@login_required
def publication_list(request):
f = PublicationFilter(request.GET, queryset=Publication.objects.all())
return render(request, 'info/filter.html', {'filter':f})
过滤器.py
from registration.models import Publication
import django_filters
class PublicationFilter(django_filters.FilterSet):
user__username = django_filters.CharFilter(lookup_expr='icontains', label='Nombre de usuario')
title = django_filters.CharFilter(lookup_expr='icontains', label='Titulo')
class Meta:
model = Publication
fields = [
'user__username', 'title', 'estatus',
]
解决方案
您需要像 这样实现分页代码。
您只需将第一行更改为使用.filter()
而不是.all()
,其余的将保持不变。
推荐阅读
- python - 如何制作 python API 来 ping 一个 IP 地址?
- android - 在 AndroidManifest.xml 展示裸工作流配置更改
- reactjs - 使用 jsPdf 和 html-to-image 生成的 React pdf 无法正常工作
- laravel - 传递给 Common\Auth\Controllers\LoginController::authenticated() 的参数 2 必须是 App\User 的实例,给定 null,在 C:\Users\dell 中调用
- php - 更新后 Docker 应用程序无法连接到数据库
- powerbi - Power BI 循环关系
- console - 如何解决 composer.json 验证的 name 属性中的这个错误?
- python - 为具有多个模块的程序创建 docker 文件
- gcc - gcc 链接器,如何声明 HEAP 和 STACK 之间的区域,将变量放在那里以检测溢出(Cortex M3 上的硬故障问题)?
- azure - 允许 IP 地址通过 SQL Server 防火墙