django filter是一个可重用的django应用程序,允许用户动态过滤queryset。

django-filter的Python项目详细描述


django过滤器是一个可重用的django应用程序,允许用户以声明的方式 从url参数添加动态筛选QuerySet

关于read the docs的完整文档。

https://dev.azure.com/noumenal/Django%20Filter/_apis/build/status/Django%20Filter-CIhttps://travis-ci.org/carltongibson/django-filter.svg?branch=masterhttps://codecov.io/gh/carltongibson/django-filter/branch/develop/graph/badge.svghttps://badge.fury.io/py/django-filter.svg

要求

  • python:3.4、3.5、3.6、3.7
  • django:1.11、2.0、2.1、2.2
  • drf:3.8+

从2.0版开始,Django过滤器仅限于Python 3。 如果需要支持Python2.7,请使用1.1版本。

安装

使用pip安装:

pip install django-filter

然后将'django_filters'添加到INSTALLED_APPS中。

INSTALLED_APPS=[...'django_filters',]

用法

django过滤器可用于生成类似于django的接口 管理员的list_filter接口。它有一个非常类似于django的api ModelForms。例如,如果你有一个产品模型,你可以有一个 为其设置筛选器,代码为:

importdjango_filtersclassProductFilter(django_filters.FilterSet):classMeta:model=Productfields=['name','price','manufacturer']

然后在您的视图中,您可以执行以下操作:

defproduct_list(request):filter=ProductFilter(request.GET,queryset=Product.objects.all())returnrender(request,'my_app/template.html',{'filter':filter})

与django rest framework一起使用

django filter提供一个自定义的FilterSet和过滤器后端,用于 django rest框架。

要使用此项,请调整导入以使用 django_filters.rest_framework.FilterSet

fromdjango_filtersimportrest_frameworkasfiltersclassProductFilter(filters.FilterSet):classMeta:model=Productfields=('category','in_stock')

有关更多详细信息,请参见DRF integration docs

支架

如果您对使用或开发有疑问,可以加入 mailing list

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何读取、验证和移动数据。csv文件?   用于在线蛇游戏的java解析scaing   java JavaFX:在窗口上移动元素(阶段)调整大小   mysql如何使用java中的IOUtils包在jsp中显示多个图像?   Java dateFormat不可解析日期异常   spring mvc java。执行单元测试时lang.AssertionError   java在一个webapp中运行多个调度器有什么问题吗?   JAVAlang.ArrayIndexOutofBounds异常:1未来。get()多线程   java使用MDC或spring boot中的任何过滤器屏蔽日志消息中的密码,而不使用logback。xml文件   与应用服务器的java AJP和SSL通信   java Hibernate更新列表中的特定对象   Java小程序:使用keylistener移动多边形   java访问是一个独立于MainActivity的进程   来自服务器的java重复密钥或完整性约束冲突消息:“列“volume”不能为null”   java是否有任何方法可以确保在Flink on job cancel with savepoint上通知所有检查点侦听器检查点完成?