码迷,mamicode.com
首页 > 其他好文 > 详细

DRF项目之通过业务逻辑选择数据集和序列化器

时间:2020-02-14 20:19:22      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:开发   word   name   use   set   api   重写   数据   需要   

在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视图中重写以上两个方法即可达到目的。

DRF项目之通过业务逻辑选择数据集和序列化器

标签:开发   word   name   use   set   api   重写   数据   需要   

原文地址:https://www.cnblogs.com/chao666/p/12308591.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!