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
しかし、行ごとの状況とスキップにどのように対処するかは明確ではありません。これに対処した人からの助けは大歓迎です。