如何使用 django-import-export 为字段定义管理员导入格式

Posted

技术标签:

【中文标题】如何使用 django-import-export 为字段定义管理员导入格式【英文标题】:How to define the admin import format for a field using django-import-export 【发布时间】:2013-01-29 07:50:18 【问题描述】:

我正在尝试使用最近开源的django-import-export 通过管理员导入一些数据,我需要选择自定义日期格式。

它有效,但有问题/更好的方法吗?

admin.py:

from import_export.admin import ImportExportMixin, ImportExportModelAdmin
from import_export import resources

from .models import Enrolment

class EnrolmentResource(resources.ModelResource):

    class Meta:
        model = Enrolment
        fields = ('id','source','firstname','surname','date_of_birth',
                  'bonus','status','tracking_comments')

        widgets = 
                'date_of_birth': 'format': '%d/%m/%Y',
                

class EnrolmentAdmin(ImportExportMixin, admin.ModelAdmin):

    def get_resource_class(self):
        if not self.resource_class:
            return EnrolmentResource
        else:
            return self.resource_class

admin.site.register(Enrolment, EnrolmentAdmin)

【问题讨论】:

您能否提供一些在 ADMIN 中使用导入导出的导入示例?我不知道在插入之前我应该​​在哪里实现一些我需要的额外逻辑。 @andi 我认为您需要使用import-export resource 但如果这让您感到困惑,为什么不在此处发布问题?另外,我在 github 中搜索项目示例时遇到了一些运气,因此请尝试在 github 中搜索 from import_export import resources @Kerridge0 得到这样的例子的好主意 - 谢谢 【参考方案1】:

按照this 代码示例,您应该执行以下操作:

# ...
class EnrolmentResource(resources.ModelResource):
# ...
class EnrolmentAdmin(ImportExportMixin, admin.ModelAdmin):
    resource_class = EnrolmentResource
# ...
admin.site.register(Enrolment, EnrolmentAdmin)

【讨论】:

以上是关于如何使用 django-import-export 为字段定义管理员导入格式的主要内容,如果未能解决你的问题,请参考以下文章

使用 django-import-export 导出并显示相关对象的详细名称

使用 django-import-export 在 django 迁移中的外键

Django-Import-Export插件关于外键的处理

django插件之django-import-export

xadmin引入django-import-export导入功能

Django 导入 Excel 端点