[mise à jour]
J'ai mal lu la question, ma réponse ne s'applique qu'à l'administrateur d'application, qui a un modèle intégré dans le mécanisme d'extension. Pour d'autres application qui n'a pas un tel mécanisme, je voudrais juste fourche les modèles d'origine au lieu de jongler avec le modèle personnalisé chargeurs comme la réponse choisie conseille. Si vous êtes inquiet au sujet de la fourche, vous pouvez également mettre en place un mécanisme d'extension et de contribuer en retour au projet initial si vous pensez qu'il vaut la peine.
[réponse originale à cette question]
Directement à partir de l'amende manuel:
En raison de la conception modulaire des modèles d'administration, il est généralement ni nécessaire ni souhaitable de remplacer tout un modèle. Il est presque toujours préférable de remplacer uniquement la section du modèle dont vous avez besoin pour changer.
Pour continuer l'exemple ci-dessus, nous voulons ajouter un nouveau lien à côté de l'Histoire de l'outil pour le modèle de Page. Après avoir regardé change_form.html nous déterminons que nous avons seulement besoin de remplacer l'objet-outils de bloc. Voici donc notre nouveau change_form.html :
{% extends "admin/change_form.html" %}
{% load i18n %}
{% block object-tools %}
{% if change %}{% if not is_popup %}
<ul class="object-tools">
<li><a href="history/" class="historylink">{% trans "History" %}</a></li>
<li><a href="mylink/" class="historylink">My Link</a></li>
{% if has_absolute_url %}
<li><a href="../../../r/{{ content_type_id }}/{{ object_id }}/" class="viewsitelink">
{% trans "View on site" %}</a>
</li>
{% endif%}
</ul>
{% endif %}{% endif %}
{% endblock %}
Et c'est tout! Si nous avons placé ce fichier dans le templates/admin/my_app répertoire, notre lien apparaîtra sur chaque modèle de formulaire de modification.