Django импорт-экспорт используют как ExportActionModelAdmin, так и ExportMixin вместе
В admin.py, используя либо:
from django.contrib import admin
from import_export.admin import ExportActionModelAdmin, ExportMixin
class BookAdmin(ExportActionModelAdmin, admin.ModelAdmin):
# stuff
или
from django.contrib import admin
from import_export.admin import ExportActionModelAdmin, ExportMixin
class BookAdmin(ExportMixin, admin.ModelAdmin):
# stuff
<
from django.contrib import admin
from import_export.admin import ExportActionModelAdmin, ExportMixin
class BookAdmin(ExportActionModelAdmin, ExportMixin, admin.ModelAdmin):
# stuff
<
<
<
Вам нужно быть внимательным, чтобы понять, что такое подкласс, а что такое миксин.
ExportActionModelAdmin является подклассом ModelAdmin, поэтому вы можете использовать его следующим образом:
class BookAdmin(ExportActionModelAdmin):
ExportMixin - это миксин. Он не предоставляет все атрибуты ModelAdmin, поэтому его нужно использовать в комбинации.
class BookAdmin(ExportMixin, admin.ModelAdmin):
Чтобы сделать то, что вы просите, и предполагая, что они совместимы, вам понадобится:
class BookAdmin(ExportMixin, ExportActionModelAdmin):
class BookAdmin(ExportActionModelAdmin, admin.ModelAdmin):
change_list_template = 'admin/import_export/change_list_export.html'
Установите значение changle_list_template. В классе ExportActionModelAdmin оно установлено None. Из-за этого кнопка экспорта не отображается.
Вам не нужно наследовать класс ExportMixin mixin. Потому что класс ExportActionModelAdmin уже наследует его.