如何解决返回模型Django Rest Framework的键/属性JSON对象而不是JSON数组
就像标题中提到的那样。我有这样的JSON数组从后端返回:
[
{id:1,name:'name1'},{id:2,name:'name2'},{id:3,name:'name3'},{id:4,name:'name4'}
]
而我想返回这样的内容:
{
"1": {id:1,"2": {id:2,"3": {id:3,"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}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。