【问题标题】:How to add field in django admin non related to model?如何在与模型无关的django admin中添加字段?
【发布时间】:2022-11-21 22:52:16
【问题描述】:

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

如何在我的模型 Device 的 django 管理表单中添加此复选框并在 save_model 函数中获取值?

【问题讨论】:

    标签: django django-admin


    【解决方案1】:

    您可以先创建一个带有这样额外复选框的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):
            if form.cleaned_data['extra_checkbox']:
                # do_extra_actions()
                pass
            return super().save_model(request, obj, form, change)

    【讨论】:

      猜你喜欢
      • 2014-09-04
      • 2011-10-08
      • 2020-01-10
      • 2019-01-28
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 2018-10-16
      • 1970-01-01
      相关资源
      最近更新 更多