我在模型中有一个JSONField,让我们说 x
. 我正在使用DRF来保存模型实例 .
串行: -
class ABCSerializer(serializers.ModelSerializer):
class Meta:
model = ABC
fields = ('x', )
def create(self, data):
instance = ABC.objects.create(**data)
instance.x = {'key': 'value'}
instance.save()
当我发布数据时,通过创建对象返回的响应被正确反序列化,即
{
'id': 1,
'x': {
'key': 'value'
}
}
但是,当我使用id获取数据时,它返回 x
为 str
,即
{
'id': 1,
'x': "{\"key\": \"value\"}"
}
如何正确地将数据反序列化回json?
1 回答
您可以在新的序列化程序字段中覆盖
to_internal_value
和to_representation
来处理JSON字段的返回数据 .反过来,您将在_1260509中使用此字段:
这应该可以解决你的问题:)