当前位置: 首页 > 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

http://www.lryc.cn/news/447105.html

相关文章:

  • 2024最新国内镜像源设置(npm、yarn、pnpm)
  • Java线程池和原子性
  • 【数据评估与清洗】对数据结构和内容进行清洗
  • 机器学习和深度学习的区别
  • UE虚幻引擎云渲染汽车动画的优势!
  • Teams集成-会议侧边栏应用开发-实时转写
  • 归并排序,外排序,计数排序(非比较排序)
  • 使用离火插件yoloV8数据标注,模型训练
  • JavaScript 学习
  • 【算法】分治:归并之 912.排序数组(medium)
  • Cocos 3.8.3 实现外描边效果(逃课玩法)
  • 著名建筑物检测与识别系统源码分享
  • 使用php生成图片
  • C++ 数据类型分类
  • java安装更新jdk11后设置环境JAVA_HOME
  • Java.动态代理
  • SpringBoot自定义异常
  • 华为源NAT技术与目的NAT技术
  • 人工智能与机器学习原理精解【25】
  • 一篇文章讲清楚synchronized关键字的作用及原理
  • 深度学习模型之BERT的24个小模型源码与预训练紧凑模型的重要性
  • 【HarmonyOS】深入理解@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化
  • Java笔试面试题AI答之设计模式(1)
  • java调用opencv部署到centos7
  • 【python qdrant 向量数据库 完整示例代码】
  • 初识C语言(三)
  • 用通义灵码如何快速合理解决遗留代码问题?
  • 新书推荐——《Python贝叶斯深度学习》
  • 数据结构-3.1.栈的基本概念
  • 关于 NLP 应用方向与深度训练的核心流程