我想使用djangorestframework csv,如下所示:
# serializers.py
class ResourceSerializer(serializers.ModelSerializer):
url = serializers.SerializerMethodField('get_url')
file = serializers.SerializerMethodField('`enter code here`get_file')
extra_file = serializers.SerializerMethodField('get_extra_file')
owner = serializers.SerializerMethodField('get_owner')
def get_url(self, resource):
return resource.get_absolute_url()
def get_file(self, resource):
return resource.get_file()
def get_extra_file(self, resource):
return resource.get_extra_file()
def get_owner(self, resource):
return resource.owner.email if resource.owner else None
class Meta:
model = Resource
fields = (
'name',
'description',
'file',
'extra_file',
'resource_type',
'date_uploaded',
'date_recorded',
'location',
'owner',
'url',
)
# views.py
@api_view(['GET'])
@renderer_classes((CSVRenderer, ))
def resources(request):
"""
Return all public Resources.
"""
resources = Resource.objects.filter(status='Public')
return Response(
ResourceSerializer(
resources,
many=True
).data
)
但服务器返回:
响应体细节无法满足请求的Accept标头响应代码406不可接受响应标头{"日期":"2015年2月24日星期二14:36:38 GMT","允许":"OPTIONS,GET","服务器":"WSGIServer/0.1 Python/2.7.3","Vary":"Cookie","内容类型":"text.csv;charset=utf-8"}
我很乐意为这个问题找到任何解决办法。
现在我决定使用django queryset csv包,这几乎"解决"了我的问题。