当前位置: 首页 > news >正文

序列化组件

序列化组件:

  --Serializer

    1、重命名:用source:   xx = serializers.CharField(source='name')

    2、取出版社名字:

        方式一:

           -在模型表中重写__str__方法

           -publish=serializers.CharField()

        方式二:

           -用source

              -拿出出版社的城市

           -publish=serializers.CharField(source='publish.city')

    *****如果不指定source,字段必须对应起来,如果指定了source,字段可以任意命名

    -source 可以指定字段,也可也指定方法

       publish.test这是个方法,会执行该方法,并拿到返回结果

       test = serializers.CharField(source='publish.test')

    -3 SerializerMethodField,可以指定一个方法

       publish=serializers.SerializerMethodField()

       # 方法名:叫get_字段名,要传参数,参数是:当前book对象

       def get_publish(self,obj):

         # obj 是当前book对象

        dic={'name':obj.publish.name,'email':obj.publish.email}

            return dic

       -方法内部可以继续用其他的序列化类

    -ModelSerializer

       -必须在类中写

       class Meta:

         model=指定表

              # fields = '__all__'

                # 指定只取这两个字段

         fields = ['nid','name']

         # 去掉指定的字段

         # exclude=['publish','authors']

         # fields,跟exclude不能连用

         # 指定深度,就是跨几个表(官方建议小于10,我给你的建议小于3)

         # depth = 2

 

 
 
#生成一个序列化的对象,传参数 
#序列化多条,记住many=True
book_ser=BookSerializer(ret,many=True)
 
 

 

 

      

转载于:https://www.cnblogs.com/zhouhao123/p/10103518.html

相关文章:

  • 日常遇到的问题
  • 添加sudo免密码
  • 利用交通在手数据为换乘添加关注
  • qt注册表关联文件格式
  • [AIR] NativeExtension在IOS下的开发实例 --- IOS项目的创建 (一)
  • Java设计模式——单例模式(创建型模式)
  • Android高德地图贴合图片完成手绘地图展示
  • 使用ServletContext读取properties配置文件
  • java程序员必备的15个框架
  • 做还是不做,是一个问题
  • java springboot b2b2c shop 多用户商城系统源码-Spring Cloud Hystrix依赖隔离
  • 谨记一次问题排查经历
  • Framework7开发H5App如何禁止回退离开首页
  • ListT对元素的查找。
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • 08.Android之View事件问题
  • ES6 ...操作符
  • Git同步原始仓库到Fork仓库中
  • HTTP--网络协议分层,http历史(二)
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • MySQL-事务管理(基础)
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PHP 小技巧
  • React Transition Group -- Transition 组件
  • spring boot下thymeleaf全局静态变量配置
  • 测试开发系类之接口自动化测试
  • 复习Javascript专题(四):js中的深浅拷贝
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 腾讯大梁:DevOps最后一棒,有效构建海量运营的持续反馈能力
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 阿里云ACE认证学习知识点梳理
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • #laravel 通过手动安装依赖PHPExcel#
  • #控制台大学课堂点名问题_课堂随机点名
  • (33)STM32——485实验笔记
  • (八)Spring源码解析:Spring MVC
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (汇总)os模块以及shutil模块对文件的操作
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (一)VirtualBox安装增强功能
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转载)Google Chrome调试JS
  • (转载)hibernate缓存
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .mysql secret在哪_MySQL如何使用索引
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net/c# memcached 获取所有缓存键(keys)
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .php文件都打不开,打不开php文件怎么办