我注意到以下问题非常不同:
- Django Admin - Disable 'Add'
- 禁用django's admin中编辑对象的链接(仅显示列表)?
我的问题有点不同:我如何禁用模型列表视图中的操作按钮,但保留所有其他Django部分的添加功能和链接(例如OneToOne关系和内联)。代码:
@admin.register(Document)
class DocumentAdmin(admin.ModelAdmin):
list_display = ("id", "name", "template", "file")
fields = ["template", "name", "file"]
def has_add_permission(self, request):
return False
完全禁用ModelAdmin的添加功能(Django 3.2+,未在早期版本中测试)。
可能是:
@admin.register(Document)
class DocumentAdmin(admin.ModelAdmin):
list_display = ("id", "name", "template", "file")
fields = ["template", "name", "file"]
def has_add_permission(self, request):
return ("add" in request.path or "change" in request.path)
这将允许维护"/admin/" app>/" model>/add/"功能,也在弹出。模型列表视图将允许对模型进行编辑,但它将不具有"添加";按钮。