我通过使用 JSONField 在 mysql 中有一个表,该表是 TextField (django) 类型。
这是我的模型的样子
from django.db import models
from json_field import JSONField
class Model(models.Model):
obj = JSONField()
我通过tastypie发送的值(value)是
json_string = '{"data":"value"}'
进入数据库我可以看到
{"data":"value"}
但是当用 curl 检索数据时,我得到了这样的东西
"{u'data': u'value'}"
我能做些什么来不让 python u'field' 表示进入到tastypie 的输出中?
谢谢!
最佳答案
我像这样解决了这个问题:
def dehydrate_user_inputs(self, bundle):
requirement = Requirement.objects.get(pk = bundle.obj.pk)
user_inputs = json.dumps(requirement.user_inputs)
return user_inputs
我的 JSONField 名为 user_inputs。需求是它所属的模型。
当 Tastypie 已经为我这样做时,我觉得在这里做一个查询很奇怪,但是,这是有效的。如果有更好的解决方案,我会很高兴。