如何删除 Django 内联表单集中“额外”表单上的“删除”复选框

Phi*_*ord 7 django inline-formset

我在 Django 中使用内联表单集,并且对于每个显示一个“额外”表单的项目,用于添加另一个对象。

现有对象的表单具有“删除”复选框,用于删除该对象,这是有道理的。

但“额外”表单也有这些“删除”复选框......这没有任何意义,因为没有任何东西可以删除。Django 管理中的内联表单不会为“额外”表单显示这些“删除”复选框。

如何删除“额外”内联表单上的这些复选框?

我的模板的内联表单集部分是这样的(GitHub 上的简化完整版本):

{% for bookimage_form in form.forms %}
  {% for hidden_field in bookimage_form.hidden_fields %}
    {{ hidden_field.errors }}
  {% endfor %}

  {{ bookimage_form.as_table }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

这是似乎多余的“删除”复选框:

示例截图

bon*_*kic 8

您可以使用类的can_delete设置InlineModelAdminTabularInline继承自InlineModelAdmin):

class BookImageInline(admin.TabularInline):
    model = BookImage
    extra = 1
    can_delete = False
Run Code Online (Sandbox Code Playgroud)