我们通过TextField将原始JSON数据存储在我们的模型中,并希望这些数据由REST Framework API提供。
内容被转义并呈现为字符串而不是对象的一部分。例如{\r\n \"phases\": [\r\n \"S
等
来自requirements.txt
Django==1.8.2
djangorestframework==3.1.3
答案 0 :(得分:3)
将以下内容添加到我的序列化程序(以及我的urls.py顶部的import json
)
def to_representation(self, instance):
ret = super(RoadmapSerializer, self).to_representation(instance)
ret['jsonField'] = json.loads(ret['jsonField'])
return ret
nb:jsonField
是models.py
jsonField = models.TextField(verbose_name="JSON", blank=True)
灵感来源 - django-rest-framework: How Do I Serialize a Field That Already Contains JSON?(Almalki和Denis Cornehl的回答) - http://www.django-rest-framework.org/topics/3.0-announcement/#serializers(因为在drf 3.0中不推荐使用transform_)