0

ここにある最新のDjangoCsvインポーターを使用しています:http://django-csv-importer.readthedocs.org/en/latest/index.html

整数を含むCSVの2行目には、空白行がありません。それらはすべて数字です。CSVにアクセスし、数値を含むすべての行を整数に変換してからファイルを再アップロードしましたが、それでもこのエラーが発生します。

line 182, in import_data
return importer.import_data(data)
File "/.../lib/python2.7/csvImporter/model.py", line 282, in import_data self.process_line(data, line, lines, line_number)
File "/.../lib/python2.7/csvImporter/model.py", line 299, in process_line
    raise CsvDataException(line_number, field_error =  e.message)

CsvDataException: Line 2: invalid literal for int() with base 10: ''

私のモデルは次のように設定されています。

class Character(models.Model):
    name = models.CharField(max_length=128)
    points = models.IntegerField()
    description = models.TextField()
    image = models.ManyToManyField(Image)
    dice = models.IntegerField(blank=True, null=True)

    def __unicode__(self):
        return self.name

class CsvCharacterUpload(CsvDbModel):
        name = models.CharField(max_length=128)
        points = models.IntegerField()
        description = models.TextField()
        image = models.ManyToManyField(Image)
        dice = models.IntegerField(blank=True, null=True)

    class Meta:
        dbModel = Character
        delimiter = ","
        has_header = True
4

1 に答える 1

0

CSVCharacterUpload の CharField、IntegerField などは、django.models ではなく、django-csv-importer で定義されているものでなければなりません。

つまり、csv_importer.fields import CharField、IntegerField から

また、django-csv-importer はメンテナンスされなくなったため、 django-adaptorsに切り替えることをお勧めします。

于 2012-12-29T09:08:12.987 に答える