获取嵌套模型中的完整字段。Django休息区

2024-04-23 23:20:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个模型课:

class CustomUser(AbstractUser):

    username = models.CharField(max_length=30, unique=True)

    tags = models.ManyToManyField('events.Tag', related_name='user_tag', blank=True)

class Tag(models.Model):
    name = models.CharField(unique=True, max_length=50)

和序列化程序:

class UserSerializer(serializers.ModelSerializer):
    tags = TagSerializer(many=True)
    class Meta:
         ...

class TagSerializer(serializers.ModelSerializer):
    class Meta:
        lookup_field = 'name'
        model = Tag
        fields = ('id', 'name')

当我执行get查询时,会得到如下结果:

 "data": {
    "type": "CustomUser",
    "id": "6",
    "attributes": {
        "username": "mercer",
    },
    "relationships": {
        "tags": {
            "data": [
                {
                    "type": "Tag",
                    "id": "1"
                }
            ]
        },

    }
}

我想要的是在用户表示中获取标记“name”字段:

"type": "Tag",
"id": "1",
"name":"name"

我想做一个补丁查询,为用户添加标签。你知道吗

我可以使用SerializerMethodField(),但是这样我就不能添加标签了


Tags: nameidtruemodelstagtypetagsusername