Django Admin-对特定模型禁用“添加”操作
我有一个包含许多模型和表格的django网站。我有许多自定义表单和表单集以及inlineformsets和自定义验证以及自定义查询集。因此,添加模型操作取决于需要其他内容的表单,并且Django管理员中的“添加模型”通过自定义查询集中的500。
无论如何,对于某些型号,是否禁用“添加$ MODEL”功能?
我想/admin/appname/modelname/add
/给出一个404(或合适的“ goaway”错误消息),我不希望显示“ Add $ MODELNAME”按钮/admin/appname/modelname
。
Django管理员提供了一种禁用管理员操作的方法(http://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#disabling-actions),但是此模型的唯一操作是“ delete_selected”。即,管理员操作仅作用于现有模型。有一些Django风格的方法来做到这一点吗?
回答:
这很简单,只需has_add_permission
在你的Admin
类中重载方法,如下所示:
class MyAdmin(admin.ModelAdmin): def has_add_permission(self, request, obj=None):
return False
以上是 Django Admin-对特定模型禁用“添加”操作 的全部内容, 来源链接: utcz.com/qa/403645.html