【发布时间】:2015-11-07 15:46:39
【问题描述】:
我正在使用 Django REST Framework 和我
我有一个名为 QuestionSerializer 的序列化程序,我在其中指定了我需要在回复中包含的 3 个字段:id、json 和说明。 由于我在 PostgreSQL 数据库中使用 JSONField,因此我的 json 字段是存储在数据库中的 json,我使用 JSONSerializerField 渲染它。
这是我的代码:
class JSONSerializerField(serializers.Field):
""" Serializer for JSONField -- required to make field writable"""
def to_internal_value(self, data):
return data
def to_representation(self, value):
return value
class QuestionSerializer(serializers.ModelSerializer):
content = JSONSerializerField(source='json')
class Meta:
model = Question
fields = ('id', 'content', 'explanation')
所以,每次我使用 QuestionSerializer 时,我的回复都会是这样的:
{
"id": 1,
"content": {
"question": "question",
"answers": [
{"answer": "answer"},
{"answer": "answer"},
{"answer": "answer"},
{"answer": "answer"},
{"answer": "answer"}
],
}
"explanation": "explanation"
}
但我需要删除“内容”字段才能得到如下响应:
{
"id": 1,
"question": "question",
"answers": [
{"answer": "answer"},
{"answer": "answer"},
{"answer": "answer"},
{"answer": "answer"},
{"answer": "answer"}
],
"explanation": "explanation"
}
我该怎么办?
谢谢!
【问题讨论】:
标签: json django django-rest-framework