Django 序列化对象返回数组
Posted
技术标签:
【中文标题】Django 序列化对象返回数组【英文标题】:Django serialize object return array 【发布时间】:2021-10-13 08:27:11 【问题描述】:Django 序列化对象返回一个数组,我无法用 js 在模板中获取它
我的观点.py:
def MyExempleView(request):
data = serializers.serialize("json", myModel.objects.all())
context =
"data" : json.loads(data)
return render(request, 'consulta/myTemplateExemple.html', context=context)
我的模板:
data|json_script:"data"
if ($("#data").length)
var data= JSON.parse(document.getElementById('data').textContent);
我的结果示例:
"["key": "value", "key2": "value2"]"
【问题讨论】:
你如何打印数据? 【参考方案1】:我解决了使用 python json 加载和转储 json 的问题:
在视图中:
"data" : data
在模板中的js中:
var data = JSON.parse(document.getElementById('data').textContent)
jsonResponse = JSON.parse(data)
【讨论】:
你不能省略json.dumps(json.loads(...))
,从而使用"data": data
吗?
我试过了,不行,现在可以了,tks
但通常dumps
和loads
是彼此的倒数。因此,如果两者都被删除,那么人们会期望简单地传递数据没有任何dumps
/loads
s 会产生相同的数据。
现在说得通了以上是关于Django 序列化对象返回数组的主要内容,如果未能解决你的问题,请参考以下文章
如何处理 API 有时将属性作为数组返回,有时作为对象返回?
在单个 GraphQL 突变(graphene-django)中返回已删除对象的数组