2015-09-21 10 views
5

私はちょうどdjangoとDRFを使って作業を始め、DRFキャッシュレスポンスのように見えます。つまり、オブジェクトを変更したり、新しいものを作成したり、削除したりすることができます。DRFは応答を保持します。何も変更されません。たとえば、オブジェクトを作成しますが、modelViewSetはこのオブジェクトが提示されていないデータを返します。しかし、私が直接オブジェクトに要求すると、それが作成されたことが示されます。そして、他のどんな行動でも。私はDRFのキャッシュについての話題を見つけることができず、私はミドルウェアをチャレンジしていないように見えるので、何が起こっているのか分かりません。 ただ一つのことが役立ちます - サーバーを再起動してください(私はデフォルトのdev-serverを使用しています)。Django REST Frameworkのキャッシングを無効にするにはどうすればよいですか?

もう1つ - すべてのデータは、DRFビューではなく、djangoビューでレンダリングされたときに問題ありません。

私が使用しているシリアライザ/ modelViewSetsの1つです。それは可能な限り簡単です。また、私はdjangoキャッシュバックエンドを使用していません。少なくとも、私は自分の設定では何も持っていない。

+0

DRFに組み込まれていることはありません。DRF側にキャッシュが表示されていることを確認してください。多分、このキャッシュを実行する何か他のものがジャンゴにありますか、それともあなたのブラウザにありますか? – GwynBleidD

+0

さて、それはブラウザではないようです - 他の人々も同じ結果を参照してください。私が言ったように - 私はミドルウェアをキャッシュしていません。 Djangoはキャッシングのためにミドルウェアを使用します。 – GeraldIstar

+0

キャッシュの影響を受けるビューとシリアライザ、およびdjangoプロジェクトで使用しているキャッシュバックエンドを投稿できますか? – GwynBleidD

答えて

4

hereは、djangoクエリーセットのキャッシュについて読むことができます。最良のアドバイスは、.all()メソッドを再実行して新鮮な結果を得ることです。ちょうどobject.propertyはあなたにキャッシュされた結果を与えるかもしれません。

+0

ああ、私には恥ずかしい。ありがとう、私はちょうど戻り 'self.queryset'の' WorkOperation.objects.all() 'instentを使う必要があります。私の不注意。 – GeraldIstar

関連する問題