在Django导入导出中使用外键导入数据时出错

问题描述

我已经使用django import-export库实现了导入数据。当我尝试使用不存在的对象名称导入数据时,会引发错误不匹配的查询

它以生成具有错误堆栈跟踪的模板结束,如下所示:

Line number: 1 - CustomUser matching query does not exist.
sample@sample.com,data1,firstname,secondname
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/import_export/resources.py",line 520,in import_row
self.import_obj(instance,row,dry_run)
File "/usr/local/lib/python3.7/site-packages/import_export/resources.py",line 385,in import_obj
self.import_field(field,obj,data)
File "/usr/local/lib/python3.7/site-packages/import_export/resources.py",line 368,in import_field
field.save(obj,data,is_m2m)
File "/usr/local/lib/python3.7/site-packages/import_export/fields.py",line 110,in save
cleaned = self.clean(data)
File "/usr/local/lib/python3.7/site-packages/import_export/fields.py",line 66,in clean
value = self.widget.clean(value,row=data)
File "/usr/local/lib/python3.7/site-packages/import_export/widgets.py",line 364,in clean
return self.get_queryset(value,*args,**kwargs).get(**{self.field: val})
File "/usr/local/lib/python3.7/site-packages/django/db/models/query.py",line 408,in get
self.model._Meta.object_name
accounts.models.CustomUser.DoesNotExist: CustomUser matching query does not exist.

自定义资源导入类:

class UserResourceImport(resources.ModelResource):
    """ Resource class for import utilities """

    # set foreign key relations for model,this way we can provide name instead of id
    custom_user = fields.Field(column_name='custom_user',attribute='custom_user',widget=ForeignKeyWidget(CustomUser,'name'))


    class Meta:
        model = user_model
        fields = ('email','custom_user','first_name','last_name')
        skip_unchanged = False
        report_skipped = True
        export_order = ('email','last_name')
        import_id_fields = ['email']

其他所有导入错误都会导致生成以下模板: Normal error

有什么方法可以处理此错误,以便它不会将堆栈跟踪信息打印到导入模板中并跳过包含无效数据的行吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)