如何使用 save_to_database() 在 django-excel 中跳过一些有错误的行

How to skip some rows that have errors in django-excel using save_to_database()

我在我的 Django 项目中使用 django-excel 库,我想在使用 save_to_database() 方法将其保存到数据库之前跳过一些行。

我有如下内容:

file = form.cleaned_data['file']
file.save_to_database(
    model=MyModel,
    mapdict = fields,
    initializer=self.choice_func,
)

一切正常,但我想在调用 save_to_database 函数之前验证数据。这样做的想法是添加数组中无效的行,然后 return 它通知用户这些字段未保存。

最终我实现了这个目标,返回 None 而不是 self.choice_fun 函数中的行:

此函数如下所示:

def choice_fun(self,row):
    # Do whatever thing to validate your row
    if row[5] != SOME_VALUE:
        return None
    return row

我还使用了一些全局变量来检查某些行是否有错误。然后我将该数据返回给响应,以某种方式向用户提供反馈。