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

django-filter-ex的Python项目详细描述


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

关于read the docs的完整文档。

https://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:2.7,3.6
  • django:1.11
  • drf:3.7,3.8

django filter ex是django filter 1.1.0的一个分支,其中包含一个小补丁,用于改进 链接筛选器上的默认筛选器集。它通过了所有的测试,适用于我的用例。

安装

使用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上通知所有检查点侦听器检查点完成?