有可能使用Django 1.5,虽然它有点hackish.我不确定其他更旧的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
Run Code Online (Sandbox Code Playgroud)
通过这些更改,您将拥有一个CharField,您可以在其中放置值X.
并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]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4326 次 |
| 最近记录: |