django-import-export
django-import-export django-import-export = "^2.4.0" settings.py 1 2 3 4 5 INSTALLED_APPS += [ ... "import_export", ... ] resources.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from import_export import resources from .. import models class DepartmentResource(resources.ModelResource): class Meta: model = models.Department import_id_fields = ["code", "company_code"] # 複合キー exclude = ["company", "jobposts", "origin", "status"] # 除外 def get_instance(self, instance_loader, row): instance = super().get_instance(instance_loader, row) exclude = [] if instance: exclude += ["is_m03", "is_tmb"] # 更新除外 list(map(lambda i: row.pop(i, None), exclude)) return instance admin.py 1 2 3 4 5 6 7 8 9 10 11 12 from import_export.admin import ImportExportActionModelAdmin from . import inlines, resources class BaseModelAdmin(ImportExportActionModelAdmin): exclude = ["created_at"] readonly_fields = ["updated_at"] @admin.register(models.Department) class DepartmentAdmin(BaseModelAdmin): ... resource_class = resources.DepartmentResource