zoukankan      html  css  js  c++  java
  • 过滤Filtering

    过滤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')
  • 相关阅读:
    公司实习职位与要求
    段子
    Python 练习项目1 弹球游戏
    精准控制PWM脉冲的频率和数量
    ST Link 调试问题总结
    验证
    大道至简(第六章)读后感
    动手动脑
    大道至简(第五i章)读后感
    数组课后作业
  • 原文地址:https://www.cnblogs.com/HZLS/p/11406332.html
Copyright © 2011-2022 走看看