1

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)

何か案は?

4

0 に答える 0