gpt4 book ai didi

django - Django Admin-禁用编辑并删除特定模型的 “Save”按钮

转载 作者:行者123 更新时间:2023-12-03 13:08:35 26 4
gpt4 key购买 nike

我有一个Django模型,我希望它是只读的。不允许添加和编辑。

我已在ModelAdmin中将所有字段标记为只读并覆盖has_add_permission为:

class SomeModelAdmin(admin.ModelAdmin):
def has_add_permission(self, request):
return False

有类似的 has_edit_permission吗?哪些可以禁用以删除“保存”和“保存并继续”按钮?并替换为简单的“关闭并返回”按钮。

Django Documentation仅提及只读字段,而不涉及覆盖编辑权限。

最佳答案

覆盖templates/admin/submit_line.html模板,并根据需要设置按钮。您可以将其放入templates/admin/[app_label]/[model]/submit_line.html中,仅对特定模型执行此操作。

要有条件地显示默认的提交行或您的自定义提交行,请覆盖ModelAdmin.change_view,并向extra_context添加一个 bool(boolean) 值:

class MyModelAdmin(admin.ModelAdmin):
...
def change_view(self, request, object_id, extra_context=None):
if not request.user.is_superuser:
extra_context = extra_context or {}
extra_context['readonly'] = True

return super(MyModelAdmin, self).change_view(request, object_id, extra_context=extra_context)

关于django - Django Admin-禁用编辑并删除特定模型的 “Save”按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8442724/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com