-
与
formfield_for_foreignkey
和formfield_for_manytomany
方法一样,formfield_for_choice_field
方法可以被覆盖以更改已声明选项的字段的默认表单字段。例如,如果超级用户可用的选项与普通员工可用的选项不同,您可以执行以下操作:class MyModelAdmin(admin.ModelAdmin): def formfield_for_choice_field(self, db_field, request, **kwargs): if db_field.name == "status": kwargs['choices'] = ( ('accepted', 'Accepted'), ('denied', 'Denied'), ) if request.user.is_superuser: kwargs['choices'] += (('ready', 'Ready for deployment'),) return super().formfield_for_choice_field(db_field, request, **kwargs)
注意
在表单域上设置的任何
choices
属性将仅限于表单域。如果模型上的相应字段设置了选项,则提供给表单的选项必须是这些选项的有效子集,否则在保存之前验证模型本身时,表单提交将失败并显示ValidationError
本文介绍django.contrib.admin.ModelAdmin.formfield_for_choice_field
的用法。
声明
ModelAdmin.formfield_for_choice_field(db_field, request, **kwargs)
相关用法
- Python Django ModelAdmin.formfield_for_foreignkey用法及代码示例
- Python Django ModelAdmin.formfield_for_manytomany用法及代码示例
- Python Django ModelAdmin.formfield_overrides用法及代码示例
- Python Django ModelAdmin.fields用法及代码示例
- Python Django ModelAdmin.fieldsets用法及代码示例
- Python Django ModelAdmin.get_changeform_initial_data用法及代码示例
- Python Django ModelAdmin.get_formset_kwargs用法及代码示例
- Python Django ModelAdmin.get_urls用法及代码示例
- Python Django ModelAdmin.readonly_fields用法及代码示例
- Python Django ModelAdmin.prepopulated_fields用法及代码示例
- Python Django ModelAdmin.empty_value_display用法及代码示例
- Python Django ModelAdmin.get_form用法及代码示例
- Python Django ModelAdmin.get_search_results用法及代码示例
- Python Django ModelAdmin.autocomplete_fields用法及代码示例
- Python Django ModelAdmin.date_hierarchy用法及代码示例
- Python Django ModelAdmin.get_formsets_with_inlines用法及代码示例
- Python Django ModelAdmin.save_model用法及代码示例
- Python Django ModelAdmin.view_on_site用法及代码示例
- Python Django ModelAdmin.get_inline_instances用法及代码示例
- Python Django ModelAdmin.get_changelist_formset用法及代码示例
- Python Django ModelAdmin.get_sortable_by用法及代码示例
- Python Django ModelAdmin.get_ordering用法及代码示例
- Python Django ModelAdmin.get_changelist_form用法及代码示例
- Python Django ModelAdmin.get_actions用法及代码示例
- Python Django ModelAdmin.list_display用法及代码示例
注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.contrib.admin.ModelAdmin.formfield_for_choice_field。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。