django-nonrel のクエリセット マネージャーが壊れているのではないかと思っていますが、使い方について何か不足している可能性があります。これが私の問題です:
Django を使用して簡単なブログをまとめましたが、djangoappengineを使用しています。ブログ エントリに使用するモデルはエントリと呼ばれます。
エントリを削除するためのビューがあります。エントリが削除されると、ホームページにリダイレクトされ、残りのすべてのエントリが一覧表示されます。問題は、リダイレクトが初めて発生したときに、削除したばかりのエントリが残っていることです。ページを更新すると、リストから消えます。問題は、エントリを削除した後に Entry.objects.all() を呼び出しても、以前の値をキャッシュしているようです。
コードを通常の Django プロジェクトに移動しましたが、このバグはマニフェストにならなかったので、django-nonrel のクエリセット マネージャーに関係していると思います。
さまざまなことを試しましたが、データベースを再クエリする方法がわかりません。ビューのコードを次に示します。単純化したため、リダイレクトも行われず、Entry.objects.all() の呼び出しで entry_list に応答するようにレンダリングされます。それでも同じ問題です。
def update_or_delete_object(request, *args, **kwargs):
"A wrapper around the generic update_object view which allows a delete button too."
if request.method == 'POST' and 'delete' in request.POST:
#If they've just clicked the delete button
object = get_object_or_404(Entry, pk=kwargs['object_id'])
object.delete()
return render_to_response('entry_list.html', {'object_list':Entry.objects.all()})
return update_object(request, *args, **kwargs)
何か案は?