【问题标题】:how to solve the 'dict' object has no attribute '_meta'如何解决'dict'对象没有属性'_meta'
【发布时间】:2017-11-01 21:19:53
【问题描述】:

我正在尝试从 Web 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',但在这些链接中,解决方案不适合我的问题。

欢迎任何有关如何解决此问题的帮助。

提前谢谢你。

【问题讨论】:

  • 您打印了 response_data 吗?是字典还是json?
  • 当我将它打印为 print(response_data) 时,我得到一个 JSON,但是当我尝试打印 response_data 时,什么都没有打印出来。

标签: django python-3.x rest asp.net-web-api django-rest-framework


【解决方案1】:

似乎我不必序列化数据,只需使用以下代码修改代码:

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 对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    • 2012-02-22
    • 2018-02-14
    • 2013-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多