如何解决通过管理面板将数据导入数据库时出现 django-import-export 错误
我正面临这个错误: 我正在使用 django-import-export 包。 问题是我在导入方面找不到太多文档,我希望能够使用它将数据导入我的我们的应用程序。
Line number: 1 - 'id'
1,2021-03-02 05:12:24,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,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','is_rep_needed','is_victim']
list_filter = ('created_at','is_victim')
解决方法
这可能是因为您没有在字段列表中列出“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',...)
,
我已经解决了这个问题。 问题是我在excel表上添加了id字段
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。