这是在 Django 中:
data = []
data += serializers.serialize("json", conversation_deal)
data += serializers.serialize("json", deal_statuses)
dat = serializers.serialize("json", data)
return HttpResponse(dat)
我想节省一次到 Web 服务的往返行程,并将两个 json 合二为一。我试图做的是将每个对象序列化为 json 并将它们添加到一个数组中并再次将它们序列化为 json。但它会引发异常。
我也尝试将两个python对象放入数组中,全部序列化成json,同样失败。
这通常是怎么做的?
更新:
例外:
str: 'str' object has no attribute '_meta'
更新 2:
我有更多信息,似乎 Django 以某种方式与它序列化对象的方式相关。
以下工作非常好:
deal_statuses = DealStatus.objects.all()
data = serializers.serialize("json", deal_statuses)
return HttpResponse(data)
但这失败了..
conversation_deal = Conversation_Deal.objects.filter(conversation_id__in=call_id)
data = serializers.serialize("json", conversation_deal)
return HttpResponse(data)
这就是 Conversation_Deal 的建模方式:
class Conversation_Deal(models.Model):
conversation = models.ForeignKey('Conversation')
deal = models.ForeignKey('Deal')
status = models.ForeignKey(DealStatus, null=True, blank=True)
我发现了一些与继承类文档相关的东西,指出了为什么......即使我没有继承,但同样的过程在我的情况下也有效。希望这对其他人有帮助。我会尽快将其发布为答案。