zoukankan      html  css  js  c++  java
  • 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视图中重写以上两个方法即可达到目的。

    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    扫雷游戏
    打地鼠Demo
    Game2048
    蛇形矩阵
    约瑟夫环
    二分法查找
    动态规划之防卫导弹
    动态规划之0-1背包问题
    回溯算法之火力网
    回溯算法之8皇后问题
  • 原文地址:https://www.cnblogs.com/chao666/p/12308591.html
Copyright © 2011-2022 走看看