Django import-export排除不起作用

时间:2016-07-15 13:52:33

标签: django python-2.7 django-import-export

我一直在使用Django import-export,这样我就可以从我的数据库中获取csv文件。这些csv文件有一些不相关的字段,因为当项目被放入数据库时​​它们会被更改,因此我不希望它们在表格中。

我已按照文档进行导入导出,但似乎无法正确排除这些字段。在我的admin.py文件中,我有:

from import_export import resources
from import_export.admin import ImportExportModelAdmin

class ArtAdmin(ImportExportModelAdmin):
    list_display = ['id', 'name', 'category', 'type', 'agent', 'authenticate', ]
    search_fields = ('name', 'category', 'artist', 'id', 'authenticate', )
    list_filter = ["authenticate"]
    actions = [approve_art, reject_art]

class ArtResource(resources.ModelResource):

    class Meta:
        model = Art
        exclude = ('authenticate', )

当我进入python manage.py shell并让它打印出csv它是我期望的那样,但是当我使用python manage.py runserver然后导出它时我仍然会看到authenticate列,有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

您似乎忘记将资源类与您的modeladmin链接

class ArtResource(resources.ModelResource):

class Meta:
    model = Art
    exclude = ('authenticate', )

class ArtAdmin(ImportExportModelAdmin):
    resource_class = ArtResource

    list_display = ['id', 'name', 'category', 'type', 'agent', 'authenticate', ]
    search_fields = ('name', 'category', 'artist', 'id', 'authenticate', )
    list_filter = ["authenticate"]
    actions = [approve_art, reject_art]