Ale*_*Grs 1 python django tastypie
所以我在没有找到答案的情况下阅读了以下帖子:
我的模型使用JSONField来存储任意数据.
class Task(models.Model):
"""
Execution of a Test
"""
results = JSONField(max_length=1000, blank=True)
Run Code Online (Sandbox Code Playgroud)
在python shell中,我可以打印此字段,它呈现以下内容:
[{"name": "tata", "result": "toto"}]
Run Code Online (Sandbox Code Playgroud)
我修改脱水方法删除unicode,但我有以下结果:
**Dehydrate Method:**
def dehydrate_results(self, bundle):
results = json.dumps(bundle.obj.results)
return results
**Tastypie Result**
"results": "[{\"name\": \"Cash In\", \"result\": \"toto\"}]"
Run Code Online (Sandbox Code Playgroud)
我不能在我的javascript应用程序中使用此对象...也许你可以解释我如何从tastypie获得"正常"json输出:
**Wanted Tastypie Result**
"results": [{"name": "Cash In", "result": "toto"}]
Run Code Online (Sandbox Code Playgroud)
谢谢.
如果我没有弄错,你不需要提供自定义脱水字段,因为bundle.obj.results它已经是数据库中的反序列化对象.
而不是提供自定义dehydrate_results函数,只需将results字段类型指定为a tastypie.fields.DictField或a tastypie.fields.ListField取决于您要存储的数据.
例如.
from tastypie.fields import ListField
class MyResource(ModelResource):
results = ListField(attribute='results')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1249 次 |
| 最近记录: |