You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Django REST Framework的API响应添加自定义字段combine

解决方案

要给每个用户对象添加由username和id拼接而成的combine字段,只需修改你的serializers.py文件,利用Django REST Framework的SerializerMethodField实现自定义字段即可:

  1. 从rest_framework.serializers导入SerializerMethodField
  2. 在UserSerializer类中声明combine字段为SerializerMethodField()类型
  3. 定义get_combine方法,接收用户对象参数,返回拼接后的字符串
  4. 在Meta类的fields列表中加入"combine"

修改后的serializers.py代码如下:

from django.contrib.auth import get_user_model
from rest_framework import serializers


class UserSerializer(serializers.ModelSerializer):
    # 新增自定义字段
    combine = serializers.SerializerMethodField()

    class Meta:
        model = get_user_model()
        fields = (
            "id",
            "username",
            "combine",  # 将新增字段加入返回字段列表
        )

    # 实现字段的取值逻辑
    def get_combine(self, obj):
        return f"{obj.username} {obj.id}"

修改完成后重启服务,调用API就能得到目标响应格式,每个用户对象里都会包含combine字段,值为username加空格加id的拼接结果。

内容的提问来源于stack exchange,提问作者user3848207

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 21:05:21