DRF项目之通过业务逻辑选择数据集和序列化器
在REST后台开发中,我们需要通过业务逻辑来选择数据集或者序列化器。
选择数据集:
# 重写get_queryset实现通过业务逻辑选择指定数据集 def get_queryset(self): ‘‘‘ 通过前段传递过来的keyword选择指定数据集 :return: ‘‘‘ # 获取keyword keyword = self.request.query_params.get(‘keyword‘) # 通过前段传递过来的keyword选择指定数据集 if keyword: users = User.objects.filter(username__contains=keyword) else: users = User.objects.all() # 响应数据 return users
选择序列化器:
# 重写get_serializer_class方法,实现通过业务逻辑选择指定序列化器 def get_serializer_class(self): if self.request.method == ‘GET‘: return UserMSGSerializers elif self.request.method == ‘POST‘: return UserAddSerializers
我们只需要在API视图中重写以上两个方法即可达到目的。
相关推荐
yangkang 2020-11-09
lbyd0 2020-11-17
sushuanglei 2020-11-12
85477104 2020-11-17
KANSYOUKYOU 2020-11-16
wushengyong 2020-10-28
lizhengjava 2020-11-13
星月情缘 2020-11-13
huangxiaoyun00 2020-11-13
luyong0 2020-11-08
腾讯soso团队 2020-11-06
Apsaravod 2020-11-05
PeterChangyb 2020-11-05
gaobudong 2020-11-04
wwwjun 2020-11-02
gyunwh 2020-11-02
EchoYY 2020-10-31
dingyahui 2020-10-30