gpt4 book ai didi

django - 设置 Django 管理员默认操作

转载 作者:行者123 更新时间:2023-12-05 05:24:46 24 4
gpt4 key购买 nike

我想将名为“--------”(BLANK_CHOICE_DASH)的默认选定操作更改为另一个特定操作。有没有比添加一些会在加载时覆盖操作的 javascript 代码更好的方法来实现这一点?

最佳答案

1.覆盖ModelAdmin中的get_action_choices()方法,清除默认的空白选择并重新排序列表。

class YourModelAdmin(ModelAdmin):
def get_action_choices(self, request):
choices = super(YourModelAdmin, self).get_action_choices(request)
# choices is a list, just change it.
# the first is the BLANK_CHOICE_DASH
choices.pop(0)
# do something to change the list order
# the first one in list will be default option
choices.reverse()
return choices

2.具体action.Override ModelAdmin.changelist_view,使用extra_context更新action_form

ChoiceField.initial 用于设置默认选择的选项。所以如果你的 Action 名称是“print_it”,你可以这样做。

class YourModelAdmin(ModelAdmin):
def changelist_view(self,request, **kwargs):
choices = self.get_action_choices(request)
choices.pop(0) # clear default_choices
action_form = self.action_form(auto_id=None)
action_form.fields['action'].choices = choices
action_form.fields['action'].initial = 'print_it'
extra_context = {'action_form': action_form}
return super(DocumentAdmin, self).changelist_view(request, extra_context)

关于django - 设置 Django 管理员默认操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33665867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com