在 Django 管理中,我如何隐藏或删除铅笔、“+”和 "x"?
In Django admin how can i hide or remove the Pencil, "+" and "x"?
我可以隐藏模型库中的所有选项,但这不是必需的,因为我不能那样做,我认为存在一个简单的形式(不使用 css)来删除或隐藏它
谢谢
我假设您希望从管理员中禁用 ADD
、EDIT
和 DELETE
功能。
Django Documentation 提供以下功能,您可以在 ModelAdmin
中覆盖这些功能:
class SomeModelAdmin(admin.ModelAdmin):
def has_add_permission(self, request):
return False
def has_change_permission(self, request):
return False
def has_delete_permission(self, request):
return False
我同意Ivan Camilito Ramirez Verdes的解决方案:
class MyModelAdmin(admin.ModelAdmin):
list_display = (
'my_field',
)
def get_form(self, request, obj=None, **kwargs):
form = super().get_form(request, obj, **kwargs)
form.base_fields['my_field'].widget.can_change_related = False
form.base_fields['my_field'].widget.can_add_related = False
return form
我可以隐藏模型库中的所有选项,但这不是必需的,因为我不能那样做,我认为存在一个简单的形式(不使用 css)来删除或隐藏它
谢谢
我假设您希望从管理员中禁用 ADD
、EDIT
和 DELETE
功能。
Django Documentation 提供以下功能,您可以在 ModelAdmin
中覆盖这些功能:
class SomeModelAdmin(admin.ModelAdmin):
def has_add_permission(self, request):
return False
def has_change_permission(self, request):
return False
def has_delete_permission(self, request):
return False
我同意Ivan Camilito Ramirez Verdes的解决方案:
class MyModelAdmin(admin.ModelAdmin):
list_display = (
'my_field',
)
def get_form(self, request, obj=None, **kwargs):
form = super().get_form(request, obj, **kwargs)
form.base_fields['my_field'].widget.can_change_related = False
form.base_fields['my_field'].widget.can_add_related = False
return form