2012-08-01 9 views

答えて

12

参照してください:Actions that Provide Intermediate Pages

をあなたは右チェンジページからそれを行うことはできませんが、あなたの中間ページに、ユーザーが値を入力できるようになる形を持つことができ、その後のためにその値を使用アクション。

4

Django 1.5では可能ですが少しハックします。私はそれが可能な他の古いDjangoのバージョンではわかりません。

独自のModelAdminサブクラスを作成します。 ModelAdminにはaction_formというアトリビュートがあり、チェンジリストページのGoボタンの前に表示されているフォームを決定します。独自のフォームを作成し、ModelAdminサブクラスでaction_formとして設定することができます。これらの変更により

from django.contrib.admin.helpers import ActionForm 
# ActionForm is the default form used by Django 
# You can extend this class 

class XForm(ActionForm): 
    x_field = forms.CharField() 


class YourModelAdmin(admin.ModelAdmin): 
    action_form = XForm 

、あなたはXの値を置くことができるCharFieldですが、持っています。

アクション機能でx_fieldを使用してください。

def set_x_on_objects(modeladmin, request, queryset): 
    for obj in queryset: 
     obj.something = request.POST['x_field'] 
    # do whatever else you want 

class YourModelAdmin(admin.ModelAdmin): 
    action_form = XForm 
    actions = [set_x_on_objects]