当使用 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/