【问题标题】:django-import-export error while importing data into database through Admin Panel通过管理面板将数据导入数据库时​​出现 django-import-export 错误
【发布时间】:2021-04-13 07:29:09
【问题描述】:

我正面临这个错误: 我正在使用 django-import-export 包。 问题是我在导入方面找不到太多文档,我希望能够使用它将数据导入我的应用程序。

Line number: 1 - 'id'
1, 2021-03-02 05:12:24, 2021-03-02 05:12:24, 0, name, email, 01999999999, text, 161, 303, 76744, 14, address, 2020-11-26, dddd, SHD, PM, 0
Traceback (most recent call last):
File "/Users/mikegreat/Documents/cop411/venv/lib/python3.9/site-packages/import_export/resources.py", line 497, in import_row
instance, new = self.get_or_init_instance(instance_loader, row)
File "/Users/mikegreat/Documents/cop411/venv/lib/python3.9/site-packages/import_export/resources.py", line 274, in get_or_init_instance
instance = self.get_instance(instance_loader, row)
File "/Users/mikegreat/Documents/cop411/venv/lib/python3.9/site-packages/import_export/resources.py", line 268, in get_instance
return instance_loader.get_instance(row)
File "/Users/mikegreat/Documents/cop411/venv/lib/python3.9/site-packages/import_export/instance_loaders.py", line 28, in get_instance
field = self.resource.fields[key]
KeyError: 'id'

这是我的 Excel 工作表文件:

这是我的模型资源

class IncidenceReport(resources.ModelResource):

    class Meta:
        model = Incidence

        skip_unchanged = True
        report_skipped = True
        import_id_fields = ['id']
        fields = ('country__name', 'state__name', 'city__name', 'created_at', 'updated_at',
                  'reporter_name', 'reporter_email', 'reporter_phone', 'description',
                  'street_address', 'date_of_incidence', 'name_of_officers',)


class IncidenceAdmin(ImportExportModelAdmin, admin.ModelAdmin):
    resource_class = IncidenceReport
    autocomplete_fields = ("country", "state", "city")
    list_display = [field.name for field in Incidence._meta.fields]
    search_fields = ['country__name', 'state__name', 'city__name', 'description',
                     'street_address', 'is_rep_needed', 'is_victim']
    list_filter = ('created_at', 'updated_at',  'is_rep_needed', 'is_victim')

【问题讨论】:

    标签: python django postgresql django-import-export


    【解决方案1】:

    这可能是因为您没有在字段列表中列出“id”(即import_id_fields 值):

    class IncidenceReport(resources.ModelResource):
    
        class Meta:
            model = Incidence
    
            skip_unchanged = True
            report_skipped = True
            import_id_fields = ['id']
            # declare 'id' in this tuple:
            fields = ('id', 'country__name', ...)
    

    【讨论】:

      【解决方案2】:

      我已经解决了这个问题。 问题是我在excel表上添加了id字段

      【讨论】:

        猜你喜欢
        • 2020-12-09
        • 1970-01-01
        • 1970-01-01
        • 2012-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-12
        相关资源
        最近更新 更多