Django REST框架的ManyRelatedField序列化

 mobiledu2502897273 发布于 2023-02-12 05:29

我试图用Django Rest框架序列化我的模型 - http://django-rest-framework.org/

我想要的是序列化其中包含ManyToMany关系的模型:

class ImageResource(models.Model):
    # Some code here
    image = models.ImageField(upload_to=upload_images_to)
    keywords = models.ManyToManyField('cards.Keyword', related_name='image_keywords', blank=True);
    # More code here

所以这是我的模型(我删除了一些字段以帮助您专注于关键字字段)

我的serialallizer看起来像这样:

class ImageResourceSerializer(serializers.HyperlinkedModelSerializer):
    keywords = serializers.ManyRelatedField(source='keywords')

    class Meta:
        model = ImageResource
        fields = ('id', 'url', 'image', 'keywords')

我将展示的最后一件事是API的结果

{
        "id": 2, 
        "url": "http://127.0.0.1:3004/apiimageresource/2/", 
        "image": "images/1386508612-97_img-02.JPG", 

        "keywords": [
            "birthday", 
            "cake"
        ]
    },

如您所见,关键字从字符串(它们的名称)返回为数组.我希望将它们作为键值对返回其id和值:

"keywords": [
    "1":"birthday",
    "3":"cake"
]

如果您知道如何使用我的serialallizer,我将感谢:)

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有