【Django】rest_framework 序列化自定义替换返回值

摘要:
#序列化设置classPagerSerializer(serializers.ModelSerializer):name=序列化程序。CharField(source=“society.name”)is_pass=序列化程序。CharField()classMeta:model=模型。SocietyAndUserfields=“__all__”classSociet
# 序列化设置
class PagerSerialiser(serializers.ModelSerializer):

    name = serializers.CharField(source="society.name")
    is_pass =serializers.CharField()  

    class Meta:
        model = models.SocietyAndUser
        fields = "__all__"



class Society(APIView):

    def get(self, request):
        data = {}
        try:
            s_data = models.SocietyAndUser.objects.filter(user_id=request.auth).order_by('id')

            for da in s_data:
                da.is_pass = self.type_t(da.is_pass)

            pg = PageNumberPagination()
            pg.max_page_size = 200
            pg.page_size_query_param = "size"
            pager_roles = pg.paginate_queryset(queryset=s_data, request=request, view=self)
            ser = PagerSerialiser(instance=pager_roles, many=True)
            data["code"] = 200
            data["count"] = len(s_data)
            data["data"] = ser.data
            return Response(data)
        except Exception as e:
            print(traceback.format_exc())
            data["code"] = 444
            data["message"] = "请求异常"
            return JsonResponse(data)


    def type_t(self,is_pass):
        data = {False:"正在申请中",True:"已加入社团"}
        res = data[is_pass]
        return res
print结果:

s_data <QuerySet [<SocietyAndUser: SocietyAndUser object>, <SocietyAndUser: SocietyAndUser object>, <SocietyAndUser: SocietyAndUser object>, <SocietyAndUser: SocietyAndUser object>, <SocietyAndUser: SocietyAndUser object>, <SocietyAndUser: SocietyAndUser object>, <SocietyAndUser: SocietyAndUser object>]>
正在申请中
已加入社团
正在申请中
已加入社团
正在申请中
正在申请中
正在申请中

免责声明:文章转载自《【Django】rest_framework 序列化自定义替换返回值》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇element-ui树结构设置默认选中节点时改变传入的数组树结构没有变化刷题笔记——单调栈下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

socket.io建立长连接

   socket.io是基于node.js,在命令行里输入npm socket.io下载模块,用node.js搭建后台 示例代码,客户端 1 <!DOCTYPE html> 2 <html lang="zh-CN"> 3 <head> 4 <meta charset="UTF-8"> 5...

数据挖掘实践(19):算法基础(二)Logistic回归(逻辑斯蒂)算法

1 基本函数确立 1.1 Sigmoid函数:变量以及自变量 而当我们考虑二值化问题时,由于目标变量只能取0或1,因此我们选择了值域在{0,1}区间的Sigmoid函数 Sigmoid函数又叫做Logistic函数,或者Logistic Sigmoid函数,也被经常称作S型曲线    1.2 提问  1.3 代码实验 import numpy as n...

Django:Admin,Cookie,Session

一. Admin的配置 1.Admin基础设置 admin是django强大功能之一,它能够从数据库中读取数据,呈现在页面中,进行管理。默认情况下,它的功能已经非常强大,如果你不需要复杂的功能,它已经够用,但是有时候,一些特殊的功能还需要定制,比如搜索功能,下面这一系列文章就逐步深入介绍如何定制适合自己的admin应用。 <1> 在settin...

Vscode + Python + Django开发环境常见问题

Vscode 越来越好用了,轻量还跨平台。 1, 主程序安装。 2. 汉化:左侧工具条的扩展菜单,搜索 chinese 第一个就是汉化包 ,安装后重启。 3. 安装Python扩展:还是扩展菜单,搜索python 一般第一个就是, 注释为:Linting,Debugging (multi-threaded, ..... 4. 我用过Kite 自动补全,还不...

django Rest Framework---缓存通过drf-extensions扩展来实现

 什么情况下使用缓存 1.不经常更新的数据 2.用户经常访问的一些页面,比如商品列表页、商品详情页等 3.用户经常修改的一些操作:购物车、订单中心等 关于DRF缓存扩展可以参考文档:http://chibisov.github.io/drf-extensions/docs/#caching 安装 pip install drf-extensions 使用...

【巷子】---json-server---基本使用

一、前后端并行开发的痛点 前端需要等待后端开发完接口以后 再根据接口来完成前端的业务逻辑 二、解决方法 在本地模拟后端接口用来测试前端效果 这种做法称之为构建前端Mock 三、json-server的基本使用 (1)、全局安装 cnpm install json-server -g (2)、准备json文件 (data.json) json-serv...