【问题标题】:django-import-export to export subset of fieldsdjango-import-export 导出字段子集
【发布时间】:2015-05-08 09:24:22
【问题描述】:

我正在使用 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 个字段。

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

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

【问题讨论】:

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


    【解决方案1】:

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

    在UserAdmin 中分配resource_class 就可以了:

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

    嘘。

    【讨论】:

      【解决方案2】:

      你可以使用

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

      假设您只想导出“first_name”和“last_name”。那么,

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

      【讨论】:

        猜你喜欢
        • 2013-11-13
        • 2021-08-11
        • 1970-01-01
        • 2021-06-11
        • 1970-01-01
        • 2021-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多