1

admin.pyで、以下に示すように、エクスポートと呼ばれるアクションを設定しました...

class RecipientAdmin(admin.ModelAdmin):
    actions = [export]
export.short_description = "Export Stuff"
admin.site.register(Recipient, RecipientAdmin)

これにより、次の関数が実行されます。

def export(modeladmin, request, queryset):
    return HttpResponseRedirect("/export/")

私の質問は...

HttpResponseRedirectを使用してクエリセットを別のビュー/ページに渡すにはどうすればよいですか?または私がこれをやろうとする別の方法はありますか?

リストビューで事前に選択されたレコードを新しいページに移動して、それらを反復処理できるようにします。

4

1 に答える 1

2

これには 2 つの方法があります。

1>モデル内のいくつかのフィールドでフィルタリングするだけの場合は、URLでフィルターを渡すことができます。例: 「/export/?id_ gte=3&status _exact=3」

2>エクスポートアクション関数では、セッションで変数またはクエリセット全体を設定し、エクスポートビューでそれを確認できます

def export(modeladmin, request, queryset):
    """
    not sure if this will work
    """
    request.session['export_querset'] = queryset

    """
    if above does not work then just set this and check for it in view and u can make the queryset again if this is set 
    """
    request.session['export_querset'] = 1
    return HttpResponseRedirect("/export/")
于 2013-01-14T17:45:31.740 に答える