如何使用 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 迁移中的外键