python – Django Admin – 禁用特定模型的“添加”操作

我有一个django网站有很多模型和形式。我有很多自定义窗体和formets和inlineformsets和自定义验证和自定义查询集。因此,添加模型操作取决于需要其他事物的表单,并且django管理员中的“添加模型”通过自定义查询集中的500。

是否还要禁用某些模型的“添加$ MODEL”功能?

我想/ admin / appname / modelname / add /给出一个404(或合适的“离开”错误消息),我不想“添加$ MODELNAME”按钮在/ admin / appname / modelname视图。

Django admin提供了一种禁用管理操作的方法(http://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#disabling-actions),但是此模型的唯一操作是“delete_selected”。即管理操作只对现有模型起作用。有没有一些django类似的方式来做到这一点?

这很容易,只是重载在您的管理类中的has_add_permission方法像这样:

class MyAdmin(admin.ModelAdmin):
     def has_add_permission(self, request):
        return False
http://stackoverflow.com/questions/4143886/django-admin-disable-the-add-action-for-a-specific-model

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:python – Django Admin – 禁用特定模型的“添加”操作