Javascript Django-json响应允许json[i][j]引用而不是json[0]。field.field\u name

Javascript Django-json响应允许json[i][j]引用而不是json[0]。field.field\u name,javascript,python,json,django,Javascript,Python,Json,Django,我有Django视图将JSON返回到JS def some_view(request, param): my_queryset = SomeModel.objects.filter(...).select_related('related_model') serialized_data = serializers.serialize( "json", [x.some_related_field for x in my_queryset]) return HttpRespo

我有Django视图将JSON返回到JS

def some_view(request, param):
    my_queryset = SomeModel.objects.filter(...).select_related('related_model')
    serialized_data = serializers.serialize( "json", [x.some_related_field for x in my_queryset])
    return HttpResponse(serialized_data, content_type='application/json')
现在,为了获得一些与_相关的_字段的值,我必须用JS编写:

obj[i].fields.some_related_field[j]
我的目标是以允许obj[i][j]语法的方式从python返回json。可能吗


我希望我必须使用dump方法,但获取相关模型的字段也是绝对重要的。到目前为止,我无法使用dump方法获取相关字段。

序列化输出格式取决于您使用的序列化程序

如果您运行的是Django 1.7+,则可以返回(带有
safe=False
)而不是
HttpResponse
。注意,如果要在根级别返回JSON列表,则需要指定
safe=False

e、 g

否则,如果您使用的Django版本低于1.7,则可以执行以下操作:

import json

def some_view(request, param):
    my_queryset = SomeModel.objects.filter(...).select_related(...)
    list_data = [x.some_related_field for x in my_queryset]
    return HttpResponse(json.dumps(list_data), content_type='application/json')

序列化输出格式取决于您正在使用的序列化程序

如果您运行的是Django 1.7+,则可以返回(带有
safe=False
)而不是
HttpResponse
。注意,如果要在根级别返回JSON列表,则需要指定
safe=False

e、 g

否则,如果您使用的Django版本低于1.7,则可以执行以下操作:

import json

def some_view(request, param):
    my_queryset = SomeModel.objects.filter(...).select_related(...)
    list_data = [x.some_related_field for x in my_queryset]
    return HttpResponse(json.dumps(list_data), content_type='application/json')

太棒了,布莱利安,太棒了!我爱这个网站!!!你能告诉我,我怎样才能抓住一个以上的相关模型领域请?类似于列表数据=[x.一些与列表相关的模型id,x.一些与列表相关的模型值]是的,你可以在我的查询集中为x做另一个列表理解
[{'a':x.a,'b':x.b}
。然而,这可能会变得相当复杂。如果您试图编写API,我建议使用Django Rest FrameworkCool之类的Rest框架,但缺点是我必须编写类似json_obj[I].a的smth,而不是json_obj[I][j],这使得js代码不那么通用。我想,没有REST就无法启用obj[i][j]语法?我建议从API返回JSON对象,而不是列表。大多数API(和API框架)返回JSON对象而不是列表的原因是元数据可以与API响应关联。e、 g.分页信息,等等,聪明,聪明,聪明!我爱这个网站!!!你能告诉我,我怎样才能抓住一个以上的相关模型领域请?类似于列表数据=[x.一些与列表相关的模型id,x.一些与列表相关的模型值]是的,你可以在我的查询集中为x做另一个列表理解
[{'a':x.a,'b':x.b}
。然而,这可能会变得相当复杂。如果您试图编写API,我建议使用Django Rest FrameworkCool之类的Rest框架,但缺点是我必须编写类似json_obj[I].a的smth,而不是json_obj[I][j],这使得js代码不那么通用。我想,没有REST就无法启用obj[i][j]语法?我建议从API返回JSON对象,而不是列表。大多数API(和API框架)返回JSON对象而不是列表的原因是元数据可以与API响应关联。e、 g.分页信息等