django_rest_framework_query_tools
1.0.0
Django Rest 框架查询工具
该包通过查询参数促进过滤操作,简化 Django Rest Framework 视图的过滤过程。安装
通过 pip 安装:
pip install django-rest-framework-query-tools
使用快速示例
假设您有一个包含作者、标题等字段的 Books 模型。要使用查询参数按作者过滤 Books:
在views.py中,使用filter_fields指定要过滤的字段:
from rest_framework . views import APIView
from rest_framework import generics
from rest_framework import filters
from django_rest_framework_query_tools . filters . url_fliter import URLFilter
class BooksListView ( generics . ListAPIView ):
queryset = Books . objects . all ()
serializer_class = BookSerializer
filter_backends = [ URLFilter ]
filter_fields = ( 'author' ,)
现在,您可以通过传递查询参数来执行过滤:
/v1/books?author=name
集成方法一:在views.py中集成
导入 QueryParamsFilter 并将其用作过滤器后端:
from drf_query_tools . filters import QueryParamsFilter
class BooksListView ( generics . ListAPIView ):
# ...
filter_backends = [ QueryParamsFilter ]
filter_fields = ( 'author' ,)
# ...
方法2:通过settings.py进行全局集成
将 QueryParamsFilter 添加到 Django Rest Framework 设置中:
REST_FRAMEWORK = {
'DEFAULT_FILTER_BACKENDS' : [
' django_rest_framework_query_tools .filters.url_fliter.URLFilter'
]
}
贡献
欢迎通过打开问题或提交拉取请求来做出贡献!执照
该项目已根据 MIT 许可证获得许可 - 有关详细信息,请参阅许可证文件