【问题标题】:django multiple model in dictionary json字典json中的django多个模型
【发布时间】:2011-04-11 17:30:17
【问题描述】:

我想通过一个带有多个模型的字典创建一个 json 输出,像这样:


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

我尝试的是序列化(serializers.serialize)所有字典条目,然后我转储(simplejson.dumps)所有字典......但这似乎不正确......

有什么建议吗?

【问题讨论】:

  • 您能否更清楚地了解什么没有按预期工作?
  • 您能否在模型上显示序列化代码以及将 simplejson.dumps 代码推回客户端之前的样子?

标签: ajax django json


【解决方案1】:

您可以传入模型的值并将其转换为列表:

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);
    }
});

【讨论】:

    猜你喜欢
    • 2013-09-02
    • 2018-02-16
    • 2020-09-04
    • 2010-12-29
    • 2020-05-10
    • 2017-06-04
    • 2017-12-18
    • 2022-06-10
    • 1970-01-01
    相关资源
    最近更新 更多