加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Django Rest Framework中,如何将值序列化为值数组而不是对象数

发布时间:2020-12-20 11:31:13 所属栏目:Python 来源:网络整理
导读:在Django Rest Framework中,如何将值序列化为值数组而不是对象数组?以下是我的序列化代码示例: class NodeTagSerializer(serializers.ModelSerializer): class Meta: model = NodeTag fields = ( 'name',)class NodeTreeSerializer(serializers.ModelSeria
在Django Rest Framework中,如何将值序列化为值数组而不是对象数组?以下是我的序列化代码示例:

class NodeTagSerializer(serializers.ModelSerializer):
    class Meta:
        model = NodeTag
        fields = (
            'name',)


class NodeTreeSerializer(serializers.ModelSerializer):
    tags = NodeTagSerializer(required=False)

    class Meta:
        model = NodeTree
        fields = (
            'tags',)

这是回归:

"tags": [
    {"name": "Tag1"},{"name": "Tag2"}
]

但我想要:

"tags": [
    "Tag1","Tag2"
]

解决方法

您可以覆盖to_native()方法直接返回标记名称(未经测试):

class NodeTagSerializer(serializers.ModelSerializer):
    def to_native(self,obj):
        return obj.name

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读