目录

django drf to_representation

使用场景

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

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

例子

python 复制代码
from django.db import models


class 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 serializers


class TestSerializer(serializers.ModelSerializer):
   class Meta:
       model = TestModel
       fields = '__all__'

   def to_representation(self, instance):
       # 调用父类获取当前序列化数据,instance代表每个对象实例obj
       data = super().to_representation(instance)
       # 对原字段的值作修改
       data['create_by'] = instance.create_by.name  # 显示用户表的名称,而不是用户ID
       # 添加新的字段--model没有的字段
       data['total_likes'] = instance.liked_by.count()  # 统计数量
       return data
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
EvanSun__28 分钟前
python学习 -- 综合案例1:设计一款基于python的飞机大战小游戏
python·学习·pygame
站大爷IP1 小时前
Webview+Python:用HTML打造跨平台桌面应用的创新方案
python
三道杠卷胡1 小时前
【AI News | 20250417】每日AI进展
人工智能·pytorch·python·语言模型·github
Tanecious.2 小时前
机器视觉--Python补充知识
android·开发语言·python
大模型真好玩2 小时前
一文带你了解RAG核心原理!不再只是文档的搬运工
人工智能·python·ai编程
da-peng-song3 小时前
python学习—详解word邮件合并
python·学习·word
明明跟你说过3 小时前
深入浅出 NVIDIA CUDA 架构与并行计算技术
人工智能·pytorch·python·chatgpt·架构·tensorflow
get lend gua4 小时前
游戏数据分析,力扣(游戏玩法分析 I~V)mysql+pandas
python·mysql·leetcode·游戏·数据分析
唐叔在学习4 小时前
【Python入门】文件读取全攻略:5种常用格式(csv/excel/word/ppt/pdf)一键搞定 | 附完整代码示例
python·数据分析·办公自动化·文件处理
心软且酷丶4 小时前
leetcode:2899. 上一个遍历的整数(python3解法)
python·算法·leetcode