如何在django-import-export中只有CSV,XLS,XLSX选项?

时间:2017-08-29 03:52:23

标签: django django-import-export

我为我的项目实施了django-import-export

默认情况下,它为导入和导出提供了许多文件格式选项。

如何将文件格式限制为仅限CSV,XLS和XLSX?

enter image description here

2 个答案:

答案 0 :(得分:9)

您可以覆盖get_export_formats()的<{1}}方法:

ExportMixin

答案 1 :(得分:1)

这很老了,但对于那些可能想知道的人...我不能在上面评论,因为我没有“ 50信誉”。为了扩展上述Burhan Khalid的答案,如果您想应用这些格式限制(或将ExportMixin的任何覆盖方法应用于多个管理类),则可以在管理中创建一个抽象基类,然后将该类用于您要使用的类想保留这些覆盖。

from import_export.formats import base_formats

# use for all admins that are admin.ModelAdmin and use ExportMixin
class ExportMixinAdmin(ExportMixin, admin.ModelAdmin):

    # your normal stuff

    def get_export_formats(self):
        formats = (
          base_formats.CSV,
          base_formats.XLS,
          base_formats.XLSX,
          )

        return [f for f in formats if f().can_export()]

    class Meta:
        abstract = True

class ModelOneAdmin(ExportMixinAdmin):

    # your normal stuff here

class ModelTwoAdmin(ExportMixinAdmin):

    # your normal stuff here