码迷,mamicode.com
首页 > 其他好文 > 详细

过滤Filtering

时间:2019-08-24 22:40:14      阅读:111      评论:0      收藏:0      [点我收藏+]

标签:模糊   import   expand   erb   bre   install   and   tin   each   

过滤Filtering

注意 : 都是GenericAPIView或子类进行的操作

对于列表数据可能需要根据字段进行过滤,我们可以通过添加django-fitlter扩展来增强支持。

pip install django-filter

在配置文件中增加过滤后端的设置:

#settings.py
INSTALLED_APPS = [ ... django_filters, # 需要注册应用, ] REST_FRAMEWORK = { ... DEFAULT_FILTER_BACKENDS: (django_filters.rest_framework.DjangoFilterBackend,) }

在视图中添加filter_fields属性,指定可以过滤的字段

from django_filter.rest-framework import DjangoFilterBackend
class BookListView(ListAPIView):
    queryset = BookInfo.objects.all()
    serializer_class = BookInfoSerializer
    #接口:/api/cars/?priece=90000&bread=1
    filter_fields = (btitle, bread)

# 127.0.0.1:8000/books/?btitle=西游记

筛选 (类似模糊匹配):

from django_filter.rest-framework import DjangoFilterBackend
from reset_framework.filter SeachFilter
filter_backends = [DjangoFileterBackend,SearchFilter]
#接口:/api/cars/?search=9 代表9在name或price直进行模糊查询 
search_fileds = (name,price)

 

过滤Filtering

标签:模糊   import   expand   erb   bre   install   and   tin   each   

原文地址:https://www.cnblogs.com/HZLS/p/11406332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!