1

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

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

查看文档,我尝试了以下方法:

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 个字段的输出。

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

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

4

2 回答 2

2

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

resource_class在里面赋值UserAdmin就行了:

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

胡扎。

于 2015-03-06T18:24:48.377 回答
0

您可以使用

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

假设您只想导出“first_name”和“last_name”。然后,

class UserResource(resources.ModelResource):
    class Meta:
        model = User
        fields = ('first_name', 'last_name', 'email')
        exclude = ('email')
于 2017-07-07T14:09:46.053 回答