0
这是在Django:序列化与外键的对象为JSON
data = []
data += serializers.serialize("json", conversation_deal)
data += serializers.serialize("json", deal_statuses)
dat = serializers.serialize("json", data)
return HttpResponse(dat)
我想一个往返保存到Web服务和两个jsons合二为一。 我试图做的是将每个对象序列化成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)
我发现了一些有关继承的类documentation指出这为什么......即使我不是继承,BU同样的过程在我的情况下工作。希望这可以帮助别人。我会很快发布这个答案。
如果你显示你得到的异常(和回溯),你会得到更好的帮助。 – 2012-07-21 11:33:56
“失败”是什么意思?序列化,还是对web服务的调用?如果是后者,则需要提供有关该服务的更多信息;它可能只是不支持你正在尝试的那种呼叫。 – 2012-07-21 11:36:12
@Kave:这不是一个实际的例外,它当然不是一个完整的追溯。确实,更多的实际信息将有所帮助。 – 2012-07-21 11:41:43