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

    该花的钱要花,该吃的饭要吃。
  • 相关阅读:
    jmeter定时器
    创建视图的语句
    实时监控-网络、磁盘
    Nginx环境搭建准备
    nmon使用命令
    tomcat服务器安装方法
    Selenium_高级操作_鼠标操作选择下拉框
    实例:对象库如何工作:
    自动化
    【Linux】环境搭建
  • 原文地址:https://www.cnblogs.com/chao666/p/12308591.html
Copyright © 2011-2022 走看看