1

我正在使用django-jsonify将 django 变量转换为 javascript 中的 json,并返回这样的列表

[{"pk": 4, "model": "api.post", "fields": {"summary": "Testing", "title": "My Test"}}, {"pk": 5, "model": "api.post", "fields": {"summary": "testing again", "title": "Another test"}}]

但想要的清单是

[{"pk": 4,"summary": "Testing", "title": "My Test"}, {"pk": 5,"summary": "testing again", "title": "Another test"}]
4

1 回答 1

3

django-jsonify 只是 Django 内置 JSON 模型序列化器的一个薄包装器。看:

https://bitbucket.org/marltu/django-jsonify/src/586ff1bbdd9b1c20e450015a093c146e58d40ddb/jsonify/templatetags/jsonify.py?at=default

如果您想要不同的格式,则必须定义自己的序列化程序。为此,将 stdlib 的 json.JSONEncoder 子类化,并覆盖 .default() 方法:

http://docs.python.org/2/library/json.html#json.JSONEncoder.default

您还需要连接您自己的模板标签(或通过视图传递 JSON 等) - 但是,正如您在 django-jsonify 源代码中看到的那样,这部分代码并不多。

于 2013-07-27T17:03:20.583 回答