gpt4 book ai didi

python - 为模型 Django Rest Framework 返回键/属性 JSON 对象而不是 JSON 数组

转载 作者:行者123 更新时间:2023-12-04 08:59:00 25 4
gpt4 key购买 nike

就像标题中提到的一样。我有这样的 JSON 数组从后端返回:

[
{id:1, name:'name1'},
{id:2, name:'name2'},
{id:3, name:'name3'},
{id:4, name:'name4'}
]
我想返回这样的东西:
{
"1": {id:1, name:'name1'},
"2": {id:2, name:'name2'},
"3": {id:3, name:'name3'},
"4": {id:4, name:'name4')
}
在 Django Rest 框架中是否可以发送诸如 Response 之类的对象?显然不会有太多的键,所以大小应该不是问题。

最佳答案

您可以在将数据发送到客户端之前修改数据。

data = [
{id:1, name:'name1'},
{id:2, name:'name2'},
{id:3, name:'name3'},
{id:4, name:'name4'}
]

data = {key["id"]:value for value in data}
return JsonResponse(data)
替代如果您使用序列化程序
如果您使用序列化程序,请使用 to_representation在序列化数据时修改数据。它不会对默认表示产生性能影响。
class MySerializer(serializers.ModelSerializer):
class Meta:
model = MyModal
fields = ('foo', 'bar', .....,)

def to_representation(self, instance):
row = super(MySerializer, self).to_representation(instance)
return {row["id"]:row}

关于python - 为模型 Django Rest Framework 返回键/属性 JSON 对象而不是 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63650437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com