You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在django-import-export的错误列表中展示待清洗邮箱数据

问题根因

你当前的EmailWidget校验逻辑仅在校验通过时返回有效值,校验失败时直接返回None,未向框架抛出校验错误,因此导入框架无法识别该字段为校验失败状态,自然不会在错误表格中关联展示对应的原始待清洗数据。

解决方案

修改clean方法,在校验失败时主动抛出携带原始值的ValidationError,让框架可以捕获错误并绑定对应行、列的原始数据做展示:

from django.core.exceptions import ValidationError

class EmailWidget(CharWidget):
    def clean(self, value, row=None, *args, **kwargs):
        if not value:
            return None
        email_field = EmailField()
        try:
            # 校验通过直接返回清洗后的值
            return email_field.clean(value)
        except ValidationError:
            # 抛出带原始值的错误,框架会自动关联到对应行、列展示
            raise ValidationError(f"无效的邮箱格式:{value}")

修改后框架会自动识别该字段的校验错误,你期望的错误列表对应位置的原始数据标注会正常渲染,错误信息也会同步展示在对应单元格的提示中。


内容的提问来源于stack exchange,提问作者Prosy A.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:15:04