1

私はtastypieフィルタリングに問題があります.ドキュメントの内容に従いましたが、常に次のメッセージが表示されます:

申し訳ありませんが、まだ実装されていません。URL に「?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,
    }

私はドキュメントに従ってきました。URLを入力してもまだ結果がありません:

localhost:8000/api/v1/requests/?origin__exact=サンプル

私が間違っていることを指摘できますか?

4

2 に答える 2

2

プロパティ TASTYPIE_DEFAULT_FORMATS を設定するだけです

TASTYPIE_DEFAULT_FORMATS = ['json']

ドキュメントのtastypie-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/xmlHATEOAS が使用するものは何でも実装することです。Tastypie がヘッダーにこれらのいずれも見つからない場合、Accept説明したエラーが表示されます。

get parameter を使用してこれをオーバーライドできますformat

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