1

我在进行美味派过滤时遇到问题,我按照文档中的内容进行操作,但我总是收到以下消息:

抱歉,尚未实施。请将“?format=json”附加到您的 URL。

我不太确定我是否遗漏了什么:这是我的 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/requests/?origin__exact=sample

你能指出我做错了什么吗?

4

2 回答 2

2

只需设置属性 TASTYPIE_DEFAULT_FORMATS

TASTYPIE_DEFAULT_FORMATS = ['json']

如文档中所述的tastepie-default-formats

于 2013-07-13T19:37:27.227 回答
0

您只需要告诉tastypie您希望数据采用的格式。HTTP 客户端使用Accept标头告诉 Web 服务器它需要什么样的数据。

例如,我的浏览器发送以下Accept标头:

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

这里的问题是tastypie它只实现application/jsonapplication/xml以及 HATEOAS 使用的任何东西。如果 sweetpie 在您的标题中没有找到任何这些,Accept它将给出您描述的错误。

您可以使用 get 参数覆盖它format

localhost:8000/api/v1/requests/?origin__exact=sample&format=json
于 2013-07-13T09:09:13.107 回答