python - AttributeError 'list' 对象没有属性 'get'

标签 python json django django-rest-framework

当使用 format=json 查询我的 API 时,我收到以下错误:

AttributeError 'list' object has no attribute 'get'

有趣的是,Django Rest Framework API UI 不会发生这种情况。仅当 format=json 时。

这是我的列表方法:

def list(self, request):
    queryset = dataset_models.DataSet.objects.all()
    serializer = serializers.DataSetListSerializer(queryset, many=True)
    return Response(serializer.data)

还有我的序列化器:

class DataSetListSerializer(serializers.ModelSerializer):
    class Meta:
        model = dataset_models.DataSet

回溯:

Traceback:
File "/usr/lib/python2.7/site-packages/Django-1.5.7.example1-py2.7.egg/django/core/handlers/base.py" in get_response
  187.                 response = middleware_method(request, response)

Exception Type: AttributeError at /api/v0/a-cb4be7e8/p/example.com/dataset/
Exception Value: 'list' object has no attribute 'get'

什么给了?

最佳答案

当您使用 many=True 时,它会序列化多个对象并将它们放入一个列表中。由于 JSONResponse 类需要传递一个字典(除非也传递了 safe=False),我猜你的 Response 类也是如此.

关于python - AttributeError 'list' 对象没有属性 'get',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24813317/

相关文章:

python - 通过 Python 创建 X 输入矩阵和 y 输出向量

python - MySQLdb 注册程序?

json - 在进行 PATCH 请求时,是否可以在 http header 中传递 json 字符串以向服务器提供选项?

python - python请求包中data和json参数的区别

python - 我应该如何读取输入数据?

python - 使用 Python 中另一列的值基于多个条件在 DataFrame 中创建新列

jquery - 使用 JQuery for Flask 创建动态 URL

python - Django 的评论框架中的get_comment_permalink 是如何工作的?

html - 如何在桌面上的 django 网页上显示图像?

python - Django - 如何按注释值过滤