django filters

# 引入
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework import filters,enerics

# 使用 class 继承generics.ListAPIView 
# 例1:
class Test(generics.ListAPIView):
  '''
  	由于内部封装了 get 方法可以不重写 如:
  '''
  serializer_class = TestSerializers
  queryset = Test.objects.all()
  # 加入过滤(DjangoFilterBackend:筛选 | SearchFilter:模糊搜索
  filter_backends = (DjangoFilterBackend,filters.SearchFilter)
  filterset_fields = ['mobile','realname']	# 名称和数据库保存一致即可	精确查找
  search_fields = ['email']		#模糊搜索
  '''
  	filterset_fields:搜索条件如:?realname=test
  	search_fields:搜索条件如:?search=email
  '''
  
  
# 例2:
'''
	由于使用了ListAPIView 也可以重新封装get方法
'''
class Test(generics.ListAPIView):
  	serializer_class = TestSerializers
    queryset = Test.objects.all()
    		···
		def get_queryset(self):      
      return self.queryset

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值