我想將名爲「---------」(BLANK_CHOICE_DASH
)的默認選定操作更改爲另一個特定操作。有沒有更好的方式來實現這一點,而不是添加一些JavaScript代碼,將重載加載時間的行動?設置Django管理員默認操作
0
A
回答
0
我想你可以覆蓋ModelAdmin
中的get_action_choices()
方法。
class MyModelAdmin(admin.ModelAdmin):
def get_action_choices(self, request, default_choices=BLANK_CHOICE_DASH):
"""
Return a list of choices for use in a form object. Each choice is a
tuple (name, description).
"""
choices = [] + default_choices
for func, name, description in six.itervalues(self.get_actions(request)):
choice = (name, description % model_format_dict(self.opts))
choices.append(choice)
return choices
1
1.Override的get_action_choices()
方法在ModelAdmin
,清除默認空白選擇和重新排序列表。
class YourModelAdmin(ModelAdmin):
def get_action_choices(self, request):
choices = super(DocumentAdmin, 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
用於設置默認選擇的選項。 所以如果你的動作名稱是「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)
相關問題
- 1. Django中的默認「刪除選定」管理員操作
- 2. django管理員操作
- 3. 調整django管理員默認權限
- 4. Django管理員:刪除默認鏈接
- 5. Django python無法將管理員默認設計設置爲我的界面
- 6. 讓站點管理員管理Django中的默認值
- 7. Django。打印所有管理員操作。
- 8. 默認Django 1.5管理員css不工作
- 9. Django管理員登錄不起作用沒有默認後端
- 10. 確認後Django管理員操作未執行
- 11. Django的1.10:設置admin.site.site_header並使用默認的管理員登錄查看
- 12. 在drupal 6中設置字段的默認值管理員
- 13. SilverStripe - 設置默認的排序在管理員模式
- 14. Django的:如何設置默認語言在管理上登錄
- 15. 是elvis操作員,錯誤處理對於設置默認值是否安全?
- 16. 如何爲Django管理員操作設置自定義的queryset類?
- 17. 設置默認值在Django
- 18. Django設置默認日誌
- 19. Django設置默認數據
- 20. Django管理員:默認情況下展開所有條目
- 21. 添加默認過濾器到Django管理員
- 22. 在Django中下拉菜單的默認管理員
- 23. 的Django的contrib管理員默認的admin和密碼
- 24. Django LFS 0.10沒有默認管理員用戶
- 25. Django管理員表單和默認值的內聯模型
- 26. Magento - 管理員字段的默認值
- 27. 在PApplet上設置默認關閉操作(處理)
- 28. 默認的Django管理表單和FormWizard
- 29. Django默認管理面板安全
- 30. Python/Django - 初始/默認管理頁面
[Django的選擇欄(默認值)的可能的複製(http://stackoverflow.com/questions/22257622/default-value-for-django-choice-field) – solarissmoke
@solarissmoke:這是不一樣的。我希望它在*管理操作*中。 – d33tah
相同的概念應該適用 - 你只需要覆蓋相應的管理表單? – solarissmoke