我通过使用 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 已经为我这样做时,我觉得在这里做一个查询很奇怪,但是,这是有效的。如果有更好的解决方案,我会很高兴。

10-06 05:53