我有一个模型中的JSONField,假设为
序列化器:-
当我提交数据时,创建对象后返回的响应被正确地反序列化了。
然而,当我使用id获取数据时,它返回的是字符串
如何正确地将数据反序列化为 JSON?
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
。{
'id': 1,
'x': "{\"key\": \"value\"}"
}
如何正确地将数据反序列化为 JSON?
to_internal_value
函数基本上执行以下操作: 1. 原生值的字典 <- 原始数据类型的字典 2. 在数据验证期间调用 3. 将原始数据类型恢复为其内部 Python 表示形式 如果数据无效,则引发 serializers.ValidationError。 - user8904707