python - 如何修改 django-rest-framework API

标签 python django api django-rest-framework

我有一个API 。我想改变它,使它看起来像这样:

[
    cats: [{
            "id": 1,
            "description": "I lost my mind",
            "petName": "kappies",
            "phone": 56765665464
        },
        {
            "id": 2,
            "description": "I lost my dog somewhere",
            "petName": "Doggy",
            "phone": 38093716438
        }
    ],
    dogs: [{
            "id": 3,
            "description": "",
            "petName": "",
            "phone": 0
        }, 
        {
            "id": 3,
            "description": "",
            "petName": "",
            "phone": 0
        }
    ]
]

谁知道我该怎么做?

我需要分别为猫和狗创建API吗?

对不起,杯子。 serializers

最佳答案

假设您的模型中有 type 字段。

然后您可以在 view.py 中执行类似的操作:

posts = models.Post.objects.all()
posts_serializer = serializers.PostSerializer(posts, many=True)

output = {}
for post in posts_serializer.data:
    type = output.get(post['type'], [])
    output[type].append(post)

return Response(output)

您应该添加更多代码以及下次提问时尝试执行的操作。

祝你好运

关于python - 如何修改 django-rest-framework API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49473759/

相关文章:

python - Django - 错误 : No module named grappelli

javascript - 组合JQuery变量+模板变量

Javascript Google Maps API - 自动刷新/重新加载简单 map

python - 打印图像时,什么决定了它在页面上的显示大小?

python - django - 将字段添加到用户配置文件管理表单

javascript - Facebook 视频播放器 API

c# - 如何在 C# 中创建 API?

python - 方面,并根据方面进行一些过滤

python - matplotlib 弹出窗口中出现错误(AttributeError : 'NoneType' object has no attribute 'set_canvas' )

python - 如何在新列中保存正在读取 pandas read_html() 函数的 url?