Django Admin – Schakel de actie “Toevoegen” uit voor een specifiek model

| | | | | | | | | | | | |

Ik heb een django-site met veel modellen en formulieren. Ik heb veel aangepaste formulieren en formuliersets en inlineformsets en aangepaste validatie en aangepaste querysets. Vandaar dat de actie model toevoegen afhankelijk is van formulieren die andere dingen nodig hebben, en het "model toevoegen" in de django-beheerder doorloopt een 500 uit een aangepaste queryset.

Is er een manier om de functionaliteit "$MODEL toevoegen" uit te schakelen voor bepaalde modellen?

Ik wil dat /admin/appname/modelname/add/ een 404 (of geschikte "go away"-foutmelding) geeft, dat wil ik niet de "Add $MODELNAME"-knop om in de /admin/appname/modelname-weergave te zijn.

Django-beheerder biedt een manier om beheerdersacties uit te schakelen (http://docs.djangoproject. com/en/dev/ref/contrib/admin/actions/#disabling-actions) maar de enige actie voor dit model is "delete_selected". Dat wil zeggen dat de beheerdersacties alleen werken op bestaande modellen. Is er een django-achtige manier om dit te doen dit?