匹配模式默认情况下,搜索不区分大小写,并使用部分匹配的模式可以同时有多个搜索参数,用空格和/或逗号分隔如果使用多个搜索参数,则仅当所有提供的模式都匹配时才在列表中返回对象可以通过在 search_fields 前面添加各种字符来限制搜索行为
- ^ 以指定内容开始
- = 完全匹配
- @ 全文搜索(目前只支持Django的MySQL后端)
- $ 正则搜索
search_fields = ('=username') # 用户名必须完全一致,不能局部一致
OrderingFilter排序OrderingFilter 类支持简单的查询参数,以控制查询集的元素顺序class UserList(ListAPIView):filter_backends = (filters.OrderingFilter)# 指定后端ordering_filter = ('username',) # 指定可以排序的字段ordering_fields = '__all__' # 所有字段,和指定二选一'''url中的查询参数默认orderinghttp://xxxx/api/user?ordering=username和search一样,如果要修改默认的查询参数,可以通过 ORDERING_PARAM指定'''
#排序http://xxxx/api/user?ordering=username # 默认排序http://xxxx/api/user?ordering=-username #反向排序http://xxxx/api/user?ordering=username,age#多个字段进行排序
指定默认的排序方式class UserList(ListAPIView):filter_backends = (filters.OrderingFilter)# 指定后端ordering_filter = ('username',) # 指定可以排序的字段ordering = ('username') #默认初始用username排序

文章插图
【46.drf过滤、搜索、排序】
经验总结扩展阅读
- 半自动版本 PXE批量装windows
- 乳胶漆怎么刷?
- 厨房间水槽什么牌子好?
- 水晶猫砂优点有哪些?
- 爱舍墙纸怎么样?
- 电热水龙头安全吗?
- 竹木地板有什么优点?
- 木地板有哪些牌子?
- 西蒙的开关插座怎么样?
- 开个宠物店怎么才赚钱?