有人可以向我解释这里发生的事情,以及这两个功能之间的区别。我本质上是试图将django对象返回到我的角度控制器,因此响应必须在json中。
obj = Cuisine.objects.all()
print obj
[<Cuisine: Chinese>, <Cuisine: Indian>, <Cuisine: Japanese>]
使用django序列化程序
from django.core import serializers
obj_json = serializers.serialize('json', obj)
print obj_json
[{"pk": 1, "model": "swings.cuisine", "fields": {"name": "Chinese"}}, {"pk": 2, "model": "swings.cuisine", "fields": {"name": "Indian"}}, {"pk": 3, "model": "swings.cuisine", "fields": {"name": "Japanese"}}]
使用python json,为什么它无法将我的对象转换为json?
import json
obj_json = json.dumps(obj)
TypeError: TypeErro...izable',)
现在django-angular有一个JSONResponseMixin,它自动将返回的对象/列表转换为json,但它一直给我一个类型错误。我有一种感觉,它与json.dumps工作的原因相同。我一直在阅读各种尝试各种各样的工作,没有运气。我已经尝试通过list(obj)首先将我的对象转换为列表,但是什么也没做。
有什么想法吗?