我想在Django Admin中添加一个与我的模型中的字段无关的复选框。根据复选框的值,我想执行一些额外的操作。
class DeviceAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
#if checkbox:
# do_extra_actions()
super(DeviceAdmin, self).save_model(request, obj, form, change)
如何在django admin表单中为我的模型Device
添加此复选框并获得save_model
函数中的值?
您可以首先创建一个ModelForm
与这样一个额外的复选框:
class DeviceModelForm(forms.ModelForm):
extra_checkbox = forms.BooleanField(required=False)
然后将其插入DeviceAdmin
并检查其值:
class DeviceAdmin(admin.ModelAdmin):
form = DeviceModelForm
def save_model(self, request, obj, form, change):
ifform.cleaned_data['extra_checkbox']:
# do_extra_actions()
pass
return super().save_model(request, obj, form, change)