我正在尝试从网络API中检索一些数据,因为我想在浏览器中显示,而我想通过将此数据分配给变量来操纵它,所以我可以操纵数据,但我收到错误:
'dict'对象没有属性'_meta'。
视图
from django.core import serializers
from rest_framework.views import APIView
from rest_framework.response import Response
import json, urllib.request
from django.views.generic import View
from django.http import JsonResponse
def get_data(request, *args, **kwargs):
with urllib.request.urlopen("http://10.61.202.98:8081/T/ansdb/api/rows/dev/tickets?id=1003611",timeout=10) as url:
response_data = json.loads(url.read().decode())
response_data_serialized = serializers.serialize('json',response_data)
return JsonResponse(response_data_serialized, safe=False)
网址
urlpatterns = [
url(r'^$', views.index, name='index'), # home
url(r'^statistics/$', views.statistics, name='statistics'),
url(r'^statistics/data$', get_data, name='get_data'),]
我想要检索的数据格式如下:
[{
id: 100361324,
Aging_Deferred_Transferred: "",
Aging_Open_Issue: "",
Aging_Un_investigated_Issue: "",
CreatedBy: "userx@.....com",
DeltaQD: null,
DeltaQDBadAttempts: null,
Escalation_Category: "",
Golden_Cluster: "",
Incident_DateTime: "2017-02-01
Week: "8",
Weekend_Flag: "Yes"
}]
我读过的一些链接是Django JSON:: 'dict' object has no attribute '_meta'和Django1.9: 'function' object has no attribute '_meta',但在这些链接中,解决方案不符合我的问题。
欢迎任何有关如何解决此问题的帮助。
提前谢谢。
答案 0 :(得分:0)
似乎我不需要序列化数据,只需使用以下代码修改代码:
def get_data(request, *args, **kwargs):
with urllib.request.urlopen("http://10.61.202.98:8081/T/ansdb/api/rows/dev/tickets?id=1003611",timeout=10) as url:
response_data = json.loads(url.read().decode())
print(response_data)
return JsonResponse(response_data, safe=False)
这使我可以在我的应用程序的当前窗口中可视化JSON,但我仍然无法在控制台中看到此JSON对象。