在我的Django项目中,我有一个django rest框架序列化器
class CarSerializer(serializers.ModelSerializer):
采用过滤后的查询集,然后将其序列化。
然后我使用JSONRenderer().render( testserializer.data )
将其转换为JSON
我面临的问题是我需要更改输出,目前我得到了这个:
b'[{"car_age":"1","car_type":"1"},{"car_age":"4","car_type":"2"}]'
但我希望视图中的返回响应具有此json有效负载:
{“cars”:[{"car_age":"1","car_type":"1"},{"car_age":"4","car_type":"2"}]}
非常感谢任何帮助实现这一目标,谢谢。
答案 0 :(得分:2)
只需更新您的观点,请返回:
return JSONRenderer().render({'cars':testserializer.data})
而不是
return JSONRenderer().render(testserializer.data)
此外,不是每次手动渲染响应,而是使用Response
类的常见做法:
from rest_framework.response import Response
return Response({'cars':testserializer.data})
这将使用DEFAULT_RENDERER_CLASSES
设置中指定的渲染器。