django-import-export 导出用户模型

标签 django django-admin django-import-export

我成功地使用 django-import-export 库通过 django admin 为我定义的一些模型提供数据下载选项。

但是,我很难通过用户管理提供相同的导出选项。

对于我的其他模型,我对 admin.py 做了如下操作:

class OtherResource(resources.ModelResource):
    class Meta:
        model = Other

class OtherAdmin(ExportMixin, admin.ModelAdmin):
    # Other admin definition here

我的问题是为预打包的 Django 模型提供相同的导出功能,例如 User .

我尝试了以下...
class UserResource(resources.ModelResource):
    class Meta:
        model = User

class UserAdmin(ExportMixin, UserAdmin):
    pass

但这有几个问题,
  • 它掉了一堆 User列表显示中的模型字段(如 is_activegroups )
  • 我可以看到有些东西没有完全连接,因为添加了 exclude的 UserResource 不排除导出中的这些字段

  • 我可以重新创建 UserAdmin最后,但我希望(和猜测)这是不必要的。

    有任何想法吗?

    最佳答案

    所以我犯了几个错误。

  • 我是个白痴(我导入的是 django UserAdmin,而不是几年前我在该项目的依赖项中作为覆盖创建的 UserAdmin——这解释了为什么在覆盖 UserAdmin 时字段被删除)
  • 我未能按照 django-import-export docs 中的说明手动将其他资源链接到其他管理员

  • 以上两个代码示例的解决方案如下:

    对于 Other模型
    class OtherResource(resources.ModelResource):
        class Meta:
            model = Other
    
    class OtherAdmin(ExportMixin, admin.ModelAdmin):
        resource_class = OtherResource
        # Other admin definition here
    

    User模型
    class UserResource(resources.ModelResource):
        class Meta:
            model = User
            fields = ('first_name', 'last_name', 'email')
    
    class UserAdmin(ExportMixin, UserAdmin):
        resource_class = UserResource
        pass
    
    admin.site.unregister(User)
    admin.site.register(User, UserAdmin)
    

    中提琴。
    一切都按预期工作。Other模型完全导出。User模型导出为 3 列(名字、姓氏和电子邮件)。

    关于django-import-export 导出用户模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28886074/

    相关文章:

    Django对象多个排除()

    python - 表单提交而不是 POST 是 Django 中的值

    Django只读字段仅在更改时,而不是在创建时

    javascript - 如何更改 django admin 日期选择器格式?

    python django-import-export 即使没有数据也导入模型数据

    python - 如何使用 gunicorn 在 django 中编写 log.info() 以进行控制台?

    django - 覆盖管理媒体类

    django - 在 Django 中使用 ContentType 过滤 2 个模型

    python - 如何使用 django-import-export 导出属性值

    python - 没有id无法导入