我在Django 1.8工作,很难找到现代的方法来做到这一点.
这是我所拥有的,基于谷歌和这篇博文:
results = PCT.objects.filter(code__startswith='a')
json_res = []
for result in results:
json_res.append(result.as_dict())
return HttpResponse(json.dumps(json_res), content_type='application/json')
Run Code Online (Sandbox Code Playgroud)
然而,这给了我'PCT' object has no attribute 'as_dict'.
当然,现在一定有一个更简洁的方法吗?
我想知道是否可以使用JSONResponse但令人沮丧的是,文档没有给出如何将JSONRespose与查询集一起使用的示例,这必须是最常见的用例.我试过这个:
results = PCT.objects.filter(code__startswith='a')
return JsonResponse(results, safe=False)
Run Code Online (Sandbox Code Playgroud)
这给了[<PCT: PCT object>, <PCT: PCT object>] is not JSON serializable.
我想将 react(或 vue)与 django 模板结合起来,但我不想将后端更改为 restful api。所以我想知道有什么方法可以将Django模型查询集转换为模板中的json或json字符串,以便我可以从jsx或vue中使用的dom中获取数据。
当我尝试在 JsonResponse 中发送值时,错误即将到来(QuerySet 类型的对象不是 JSON 可序列化的)
def ajaxAgent(request):
data = CommCenter.objects.values()
responseData = { 'status': 'success', 'msg' : data}
return JsonResponse(responseData)
Run Code Online (Sandbox Code Playgroud)