我在使用tastypie过滤方面遇到了麻烦,我在文档中注意了什么,但我总是收到消息:
抱歉,尚未实施。请将“?format = json”附加到您的网址。
我不确定我是否遗漏了一些东西: 这是我的ModelResource类下的最新消息:
class RequestResource(ModelResource):
class Meta:
queryset = Request.objects.all()
resource_name = 'requests'
excludes = ['done_on', 'requested', 'is_done', 'id']
allowed_methods = ['get', 'post']
filtering = {
'origin': ALL,
'destination': ALL,
}
我一直在关注文档。当我输入网址时仍然没有结果:
你可以指出我做错了吗?本地主机:8000 / API / V1 /请求/ origin__exact =样品
答案 0 :(得分:2)
只需设置属性TASTYPIE_DEFAULT_FORMATS
即可TASTYPIE_DEFAULT_FORMATS = ['json']
中所述答案 1 :(得分:0)
您只需要告诉tastypie
您想要数据的格式.HTTP客户端使用Accept
标头告诉Web服务器它期望的数据类型。
例如,我的浏览器会发送以下Accept
标题:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
这里的问题是tastypie
只会实现application/json
,application/xml
以及HATEOAS使用的任何内容。如果tastypie在您的Accept
标题中找不到任何这些内容,则会显示您描述的错误。
您可以使用get参数format
来覆盖它:
localhost:8000/api/v1/requests/?origin__exact=sample&format=json