django-import-export导出字段子集

时间:2015-03-06 17:37:48

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

我使用django-import-export从django用户管理界面导出用户。

我想限制导出中存在的字段数。

the docs,我尝试了以下内容:

class UserResource(resources.ModelResource):
    class Meta:
        model = User
        fields = ('first_name', 'last_name', 'email')

class UserAdmin(ExportMixin, UserAdmin):
    pass

admin.site.unregister(User)
admin.site.register(User, UserAdmin)

从python shell看,这似乎工作正常,以下代码

export = UserResource().export()
print export.csv

生成的输出只包含我请求的3个字段。

但是,管理界面的导出仍包含所有用户字段。

如何限制通过管理界面导出的字段数?

2 个答案:

答案 0 :(得分:0)

显然,我需要RTFM ......我在docs找到答案。

resource_class内分配UserAdmin可以解决问题:

class UserAdmin(ExportMixin, UserAdmin):
    resource_class = UserResource
    pass

好哇。

答案 1 :(得分:0)

您可以使用

exclude = ('abc','def', 'ijk')

假设您只想导出' first_name' &安培; '姓氏&#39 ;.然后,

class UserResource(resources.ModelResource):
    class Meta:
        model = User
        fields = ('first_name', 'last_name', 'email')
        exclude = ('email')