【问题标题】:How hide delete item in django admin TabularInline如何在 django admin TabularInline 中隐藏删除项目
【发布时间】:2017-04-14 11:21:26
【问题描述】:

我有表格内联的管理视图:

class AddressInline(admin.TabularInline):
    model = Address
    can_delete = False
    readonly_fields = ['kind']
    max_num = 3
    min_num = 3
    fields = (
       "kind", "country", "city", "post_code", "street", "no_house"
    )

    def has_delete_permission(self, request, obj=None):
        return False


class CustomerAdmin(admin.ModelAdmin):
    fields = (
        "first_name", "last_name", "pesel", "id_number", "birth_date",
        "photo"
    )
    inlines = [AddressInline]

我想要一个带有其他三个内联表单的表单。这种内联形式总是树。我隐藏添加另一个按钮。我不想删除表单中的内联项按钮。如何删除或隐藏此按钮?此按钮无法向用户显示。

【问题讨论】:

  • 您是否尝试使用管理页面中的权限来处理此问题?
  • 是的,但是当我创建视图删除按钮时,用户可以删除内联表单。我不想那样。

标签: python django django-admin


【解决方案1】:

内联试试这个

class YourModelAdmin(admin.TabularInline):
    class Meta:
        css = {'all': ('/media/no-delete.css',)}

在您的 css 文件夹中(或任何其他公开服务的文件夹,我的媒体文件夹):

使用此代码在该文件夹中创建 ‍no-delete.css

.deletelink-box{display: none !important;}

这将删除删除按钮。

现在,不仅要为这个“deletelink-box”类这样做。 对您想要的所有元素执行此操作,并根据您的意愿自定义页面。

【讨论】:

    猜你喜欢
    • 2021-01-11
    • 2020-07-25
    • 1970-01-01
    • 2023-02-18
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2011-10-08
    • 2021-09-13
    相关资源
    最近更新 更多