我成功地使用 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_active
和 groups
)exclude
的 UserResource 不排除导出中的这些字段 我可以重新创建
UserAdmin
最后,但我希望(和猜测)这是不必要的。有任何想法吗?
最佳答案
所以我犯了几个错误。
以上两个代码示例的解决方案如下:
对于
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/