如何在不使用Django REST Framework转义的情况下将TextField作为文字JSON提供?

时间:2015-06-23 07:21:56

标签: django django-rest-framework

我们通过TextField将原始JSON数据存储在我们的模型中,并希望这些数据由REST Framework API提供。

内容被转义并呈现为字符串而不是对象的一部分。例如{\r\n \"phases\": [\r\n \"S

来自requirements.txt

    Django==1.8.2
    djangorestframework==3.1.3

Screenshot for reference.

1 个答案:

答案 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:jsonFieldmodels.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_)