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

django drf to_representation

使用场景

1.需要对结果的中的某个字段进行进一步的处理;

2.模型类中没有的字段,添加到结果中进行响应;

例子

from django.db import modelsclass TestModel(models.Model):name = models.CharField(_("名称"), max_length=50, null=True, blank=True, default="")status = models.CharField(_("状态"), max_length=10, null=True)create_by = models.ForeignKey(to='users.User', on_delete=models.SET_NULL, null=True)liked_by = models.ManyToManyField(to='users.User')from rest_framework import serializersclass TestSerializer(serializers.ModelSerializer):class Meta:model = TestModelfields = '__all__'def to_representation(self, instance):# 调用父类获取当前序列化数据,instance代表每个对象实例objdata = super().to_representation(instance)# 对原字段的值作修改data['create_by'] = instance.create_by.name  # 显示用户表的名称,而不是用户ID# 添加新的字段--model没有的字段data['total_likes'] = instance.liked_by.count()  # 统计数量return data

相关文章:

  • NVIDIA Hopper 架构深入
  • 刷题学习日记 (1) - SWPUCTF
  • Python FFmpeg 安装使用教程
  • k8s 1.28.2 集群部署 ingress 1.11.1 包含 admission-webhook
  • 优化后的版本
  • 【Vue】vue2项目打包后部署刷新404,配置publicPath ./ 不生效问题
  • 正则表达式中的贪婪模式和非贪婪模式
  • 小程序原生-利用setData()对不同类型的数据进行增删改
  • 《微信小程序实战(4) · 地图导航功能》
  • 【每天学个新注解】Day 10 Lombok注解简解(九)—@Accessors
  • 第十三届蓝桥杯真题Java c组C.纸张尺寸(持续更新)
  • UNI-APP_iOS开发技巧之:跳转到TestFlight或者App Store
  • SQL第11课——使用子查询
  • 983. 最低票价
  • PHP读取文件内容的几种方法和函数
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • Docker容器管理
  • github从入门到放弃(1)
  • gulp 教程
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Theano - 导数
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 代理模式
  • 聊聊redis的数据结构的应用
  • 前端js -- this指向总结。
  • 如何解决微信端直接跳WAP端
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • # Panda3d 碰撞检测系统介绍
  • # Redis 入门到精通(九)-- 主从复制(1)
  • (06)金属布线——为半导体注入生命的连接
  • (11)MSP430F5529 定时器B
  • (AngularJS)Angular 控制器之间通信初探
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C#)获取字符编码的类
  • (c语言+数据结构链表)项目:贪吃蛇
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (第61天)多租户架构(CDB/PDB)
  • (二)Linux——Linux常用指令
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (六)软件测试分工
  • (五)MySQL的备份及恢复
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (已解决)vscode如何选择python解释器
  • (译)2019年前端性能优化清单 — 下篇
  • (转)http-server应用
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • ../depcomp: line 571: exec: g++: not found
  • .a文件和.so文件
  • .net访问oracle数据库性能问题
  • .NET基础篇——反射的奥妙
  • :=
  • @Transactional事务注解内含乾坤?