Final result:

Inspired by @Aidan Doherty's answer , I created a new class, which is a combination of subclasses of VersionAdmin , ImportMixin , ExportMixin , which extends the change_list_template user interface.
Here's what it looks like:
ImportExportVersionModelAdmin.py :
from import_export.admin import ImportMixin, ExportMixin from reversion.admin import VersionAdmin class ImportExportVersionModelAdmin(ImportMixin, ExportMixin, VersionAdmin): """ Import, export and Version admin. Fixes missing link in change_list admin view :) """
templates/change_list_import_export_version.html :
{% extends "admin/import_export/change_list.html" %} {% load i18n admin_urls %} {% block object-tools-items %} <li><a href="import/" class="import_link">{% trans "Import" %}</a></li> <li><a href="export/{{ cl.get_query_string }}" class="export_link">{% trans "Export" %}</a></li> {% if not is_popup and has_add_permission and has_change_permission %} <li><a href="{% url opts|admin_urlname:'recoverlist' %}" class="recoverlink">{% blocktrans with cl.opts.verbose_name_plural|escape as name %}Recover deleted {{name}}{% endblocktrans %}</a></li> {% endif %} {{ block.super }} {% endblock %}
Thus, I can use it as follows:
class SiteAdmin(ImportExportVersionModelAdmin): pass admin.site.register(Site, SiteAdmin)
It is directly inspired by import_export admin.py ImportExportMixin and its change_list_import_export.html , combined with a reversal pattern
Note. You can apply this solution to several subclasses :)
GabLeRoux
source share