You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django使用django-import-export导入CSV时报KeyError: 'id'错误如何解决?

问题根因

  • 你编写的CapabilityResource资源类配置语法不符合django-import-export的规范:所有资源配置项(包括model、exclude、import_id_fields等)必须放置在内部Meta类中,你直接将配置属性写在资源类下,导致自定义配置完全未生效。
  • 框架读取不到你声明的exclude = ('id',)和自定义主键import_id_fields配置,依然默认尝试调用id字段作为导入的唯一标识,最终触发id字段不存在的键错误。

修复方案

替换你admin.py中的CapabilityResource代码为以下正确写法:

class CapabilityResource(resources.ModelResource):
    class Meta:
        model = Capability
        skip_unchanged = True
        report_skipped = True
        exclude = ('id',)
        import_id_fields = ('capscode', 'capsid', 'capsname', 'cfor', 'parent',)

额外注意事项

  • 你CSV文件中的parent字段存储的是父级数据的capsid值,请保持现有CSV从上到下的导入顺序(根节点在前,子节点在后),避免外键关联报错。
  • 你的模型主键为自定义capsid字段,CSV中提供的capsid值请确保不与数据库已有数据重复,避免主键冲突。

内容的提问来源于stack exchange,提问作者Naveen Sargam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 08:36:00