python-django只序列化一个字段,而不是相关字段中的整个模型(只读)

2021-01-08 19点热度 0人点赞 0条评论

我想通过直接使用嵌套模型的字段来序列化只有一个字段的嵌套模型字段。

以下代码应解释这种情况:

# models
class Tag(models.Model):
    title = models.CharField(max_length=255, unique=True)

class Scene(models.Model):
    title = models.CharField(max_length=255, unique=True)
    tags = models.ManyToManyField(Tag, blank=True)

# serializers
class SceneSerializer(serializers.ModelSerializer):
    class Meta:
        model = Scene
        fields = ('id', 'title', 'tags',)
        read_only_fields = ('tags',)

如果使用,则输出以下内容:

{
    "id": 1,
    "title": "yolol",
    "tags": [
        1,
        2
    ]
}

我想要的是以下输出(使用tag.title而不是主键):

{
    "id": 1,
    "title": "A Scene",
    "tags": [
        "3D",
        "Industry"
    ]
}

如何为标记编写这样的序列化程序?

查看隐藏内容需要支付:¥1
查看

未经允许不得转载!python-django只序列化一个字段,而不是相关字段中的整个模型(只读)

本文地址:https://ans.52learn.online/2135

ANS52LEARN

DO BEST