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
уже наследует его.