django import-export中的异常处理

时间:2016-05-31 11:36:34

标签: django exception-handling django-import-export

关于django import-export的快速问题。假设我有一个类似于docs中的模型,但有一些额外的约束(注意Meta类):

n

在批量上传时,理想情况下我会喜欢任何包含错误的行(在这种情况下是重复的条目 - 但也可能是其他类型的"损坏的"行)以及其余的上传接着说。应将损坏的行记录到包含相关行的文件和带有异常名称的附加列中。

有一个通用的exceptions.py文件:

    class Book(models.Model):
        name = models.CharField('Book name', max_length=100)
        author = models.ForeignKey(Author, blank=True, null=True)
        author_email = models.EmailField('Author email', max_length=75, blank=True)
        imported = models.BooleanField(default=False)
        published = models.DateField('Published', blank=True, null=True)
        price = models.DecimalField(max_digits=10, decimal_places=2, null=True, blank=True)
        categories = models.ManyToManyField(Category, blank=True)

        def __unicode__(self):
            return self.name

        class Meta:
            unique_together = ('name', 'author')

但目前尚不清楚如何处理逐行情况和跳过。任何处理此问题的人的任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

documentation非常明确:

  

dry_run是一个布尔值,用于确定对数据库的更改是否正确   制作或仅导入模拟。它默认为False。

     

raise_errors是一个布尔值。如果为True,则导入会引发错误。该   default为False,表示最终错误和回溯   保存在Result实例中。