2011-04-11 126 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); 
    } 
});