2011-04-11 162 views
0

我想通过创建与多个模型字典的JSON输出,就像这样:Django的多模型


results = {} 
results["game_info_db"] = db.gameInfo.objects.get(name='name') 
results["dlc_list_db"] = db.gameAddon.objects.filter(game__name='name') 

我想什么是序列化(serializers.serialize)所有类型的字典entrys后这我倾倒(simplejson.dumps)所有的字典...但它似乎并不正确...

任何消化?

+0

你能不能按照期望究竟是不是工作多一点清楚了吗? – arie 2011-04-11 17:42:13

+0

您还可以在模型上显示序列化的代码,以及simplejson.dumps代码在推送回客户端之前的样子? – 2011-04-11 17:50:39

回答

2

你可以通过在模型中的值,并将其转换为一个列表:

results = {} 
results["game_info_db"] = list(db.gameInfo.objects.get(name='name').values()) 
results["dlc_list_db"] = list(db.gameAddon.objects.filter(game__name='name').values()) 

return HttpResponse(json.dumps(results), mimetype='application/javascript') 

的数据将显示为JavaScript端的对象。假设你有一个name栏,您可以访问的属性如下所示:

$.getJSON("/ajax/", function(data) { 
    var dlcs = data.dlc_list_db; 
    for (i = 0; i < dlcs.length; i++) { 
     var dlc = dlcs[i]; 
     alert(dlc.name); 
    } 
});