【问题标题】:Django import-export KeyError: u'id'Django 导入-导出 KeyError: u'id'
【发布时间】:2019-02-10 17:33:40
【问题描述】:

无法排除 ID,甚至尝试使用 stackoverflow 中的现有问题:django-import-export: cannot exclude id field during import : KeyError: u'id'

resource.py

from import_export import resources
from .models import Bugdata

class BugDataResource(resources.ModelResource):

    class Meta:
        model = Bugdata
        skip_unchanged = True
        report_skipped = True
        exclude = ('id',)
        import_id_fields = ['Created_date', 'BugID', 'ID_Link', 'Summary', 'Status', 'Severity', 'Tags']

models.py

from django.db import models

class Bugdata(models.Model):
    Created_date = models.DateField()
    BugID = models.CharField(max_length=50,primary_key=True)
    ID_Link = models.URLField(max_length=300)
    Summary = models.CharField(max_length=600)
    Status = models.CharField(max_length=10)
    Severity = models.CharField(max_length=10)
    Tags = models.CharField(max_length=10)

    def __str__(self):
        return self.Summary

admin.py

from django.contrib import admin
from import_export.admin import ImportExportModelAdmin
from .models import Bugdata
# Register your models here.

@admin.register(Bugdata)
class NewtaskAdmin(ImportExportModelAdmin):
    pass

追溯

Error:
  Traceback (most recent call last):
  File "C:\Users\gomathis\AppData\Local\Programs\Python\Python36-32\lib\site- 
  packages\django_import_export-1.0.1-py3.6.egg\import_export\resources.py", 
  line 453, in import_row
  instance, new = self.get_or_init_instance(instance_loader, row)
  File "C:\Users\gomathis\AppData\Local\Programs\Python\Python36-32\lib\site- 
  packages\django_import_export-1.0.1-py3.6.egg\import_export\resources.py", 
  line 267, in get_or_init_instance
  instance = self.get_instance(instance_loader, row)
  File "C:\Users\gomathis\AppData\Local\Programs\Python\Python36-32\lib\site- 
  packages\django_import_export-1.0.1-py3.6.egg\import_export\resources.py", 
  line 261, in get_instance
  return instance_loader.get_instance(row)
  File "C:\Users\gomathis\AppData\Local\Programs\Python\Python36-32\lib\site- 
  packages\django_import_export-1.0.1- 
  py3.6.egg\import_export\instance_loaders.py", line 31, in get_instance
  field = self.resource.fields[key]
  KeyError: 'id'

【问题讨论】:

    标签: jquery django python-3.x django-import-export


    【解决方案1】:

    显然我没有添加评论的声誉,你解决了吗?我在与您相同的设置下发生了类似的事情,因此一个建议是仔细检查您正在导入的文件的编码。我在 Mac 上将 Excel 保存为 CSV 格式时遇到了问题,在这种情况下,我使用了 sublime 等文本编辑器来确保将其保存为 UTF8 格式,并且该特定错误似乎消失了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多