如何在django admin中添加与模型无关的字段?



我想在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)

最新更新