内置,第三方过滤功能与排序功能

发布时间 2024-01-12 10:54:17作者: 朱饱饱
1 过滤:筛选查询结果
2 内置筛选的使用
    -在视图类中配置
        filter_backends =[SearchFilter,]
        search_fields=('name',) # 表模型中的字段
    -查询的时候
        http://127.0.0.1:8000/students/?search=e
                
3 第三方扩展的过滤功能
    -pip3 install django-filter  :最新版本(2.4.0)要跟django2.2以上搭配
    
    -在视图类中配置
        filter_backends =[DjangoFilterBackend,]
        filter_fields=['name','age']
    -查询的时候
        http://127.0.0.1:8000/students/?name=lqz&age=18

 

 

排序功能

-在视图类中配置
    filter_backends =[OrderingFilter,]
    ordering_fields=['id','age']
-查询的时候
    http://127.0.0.1:8000/students/?ordering=-age
            
            
 ### 过滤后再排序
  -在视图类中配置
    filter_backends = [OrderingFilter,DjangoFilterBackend]
    ordering_fields = ('id', 'age')
    filter_fields=['name','age']
  -查询的时候
    http://127.0.0.1:8000/students/?name=lqz&age=19&ordering=-age,-id