Soy consciente de las siguientes preguntas que son bastante diferentes:
Mi pregunta es un poco diferente: ¿cómo puedo deshabilitar el botón de acción en la vista de lista del modelo, pero conservar la funcionalidad de agregar y los enlaces para todas las demás partes de Django (por ejemplo, las relaciones OneToOne y las líneas). El código:
@admin.register(Document) class DocumentAdmin(admin.ModelAdmin): list_display = ("id", "name", "template", "file") fields = ["template", "name", "file"] def has_add_permission(self, request): return Falsedeshabilita completamente la funcionalidad de agregar de ModelAdmin (Django 3.2+, no probado en versiones anteriores).
Una posibilidad es:
@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)Esto permitirá mantener la funcionalidad "/admin/<app>/<model>/add/", también en la ventana emergente. La vista de lista de modelos permitirá la edición del modelo, pero no tendrá el botón "agregar".