KeyError: 'id' django-import-export
See original GitHub issueI don’t know where it is wrong, right in my code, please help I already wasted lot of my time… THANK YOU _/\_
admin.py from import_export import resources from import_export.admin import ImportExportModelAdmin
class CapabilityResource(resources.ModelResource): model = Capability skip_unchanged = True report_skipped = True exclude = (‘id’,) import_id_fields = (‘capscode’, ‘capsid’, ‘capsname’, ‘cfor’, ‘parent’,)
@admin.register(Capability) class CapabilityAdmin(ImportExportModelAdmin): resource_class = CapabilityResource fields = [‘capscode’, ‘capsname’, ‘cfor’, ‘parent’] list_display = [‘capscode’, ‘capsname’, ‘cfor’, ‘parent’] list_display_links = [‘capscode’, ‘capsname’]
models.py
class Capability(models.Model):
CFOR_CHOICES = [(‘WEB’, ‘WEB’), (‘PORTLET’, ‘PORTLET’), (‘REPORT’, ‘REPORT’), (‘MOB’, ‘MOB’)]
capsid = models.AutoField(primary_key=True, auto_created=True, editable=False)
capscode = models.CharField((‘caps’), max_length=50)
capsname = models.CharField((‘includes’), max_length=1000, default = None, blank=True, null=True)
parent = models.ForeignKey(‘self’, on_delete=models.RESTRICT, db_column=‘parent’, null=True, blank=True, related_name=‘children’)
cfor = models.CharField(_(‘cfor’), max_length=10, default=‘WEB’, choices=CFOR_CHOICES)
clientid = models.ForeignKey(‘onboarding.Bt’, null=True, blank=True, on_delete = models.RESTRICT, db_column=‘clientid’)
csv data:
capscode capsid capsname cfor parent
NONE 1 NONE WEB
DASHBOARDS 2 DASHBOARDS WEB 1
RP_MONITORING 3 RP MONITORING WEB 2
FACILITY 4 FACILITY WEB 2
versions: django-import-export==2.6.0 Django==3.2.4 python=3.8.10
Errors:_ Line_ number: 1 - ‘id’ NONE, 1, NONE, WEB, Traceback (most recent call last): File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 650, in import_row instance, new = self.get_or_init_instance(instance_loader, row) File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 342, in get_or_init_instance instance = self.get_instance(instance_loader, row) File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 329, in get_instance import_id_fields = [ File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 330, in self.fields[f] for f in self.get_import_id_fields() KeyError: ‘id’
Line number: 2 - ‘id’ DASHBOARDS, 2, DASHBOARDS, WEB, 1 Traceback (most recent call last): File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 650, in import_row instance, new = self.get_or_init_instance(instance_loader, row) File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 342, in get_or_init_instance instance = self.get_instance(instance_loader, row) File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 329, in get_instance import_id_fields = [ File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 330, in self.fields[f] for f in self.get_import_id_fields() KeyError: ‘id’
Line number: 3 - ‘id’ RP_MONITORING, 3, RP MONITORING, WEB, 2 Traceback (most recent call last): File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 650, in import_row instance, new = self.get_or_init_instance(instance_loader, row) File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 342, in get_or_init_instance instance = self.get_instance(instance_loader, row) File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 329, in get_instance import_id_fields = [ File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 330, in self.fields[f] for f in self.get_import_id_fields() KeyError: ‘id’
Line number: 4 - ‘id’ FACILITY, 4, FACILITY, WEB, 2 Traceback (most recent call last): File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 650, in import_row instance, new = self.get_or_init_instance(instance_loader, row) File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 342, in get_or_init_instance instance = self.get_instance(instance_loader, row) File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 329, in get_instance import_id_fields = [ File “/home/xyz/abc/envs/intelliwiz_env/lib/python3.8/site-packages/import_export/resources.py”, line 330, in self.fields[f] for f in self.get_import_id_fields() KeyError: ‘id’
Issue Analytics
- State:
- Created 2 years ago
- Comments:7 (2 by maintainers)
I already checked with version 2.5.0 , and the results are same!
Thank you.