关于 django 导入导出的快速问题。假设我有一个像docs中的模型,但有一些额外的约束(注意 Meta 类):
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')
在批量上传时,理想情况下,我希望跳过任何包含错误的行(在这种情况下是重复的条目——但也可能是其他类型的“损坏”行)并继续上传的其余部分。应将损坏的行记录到包含相关行和带有异常名称的附加列的文件中。
有一个通用的 exceptions.py 文件:
class ImportExportError(Exception):
"""A generic exception for all others to extend."""
pass
class FieldError(ImportExportError):
"""Raised when a field encounters an error."""
pass
但目前尚不清楚如何处理逐行情况和跳过。任何处理过此问题的人的帮助将不胜感激。