Невозможно вставить заголовок, используя функцию переопределения before_import в django-import-export - PullRequest
0 голосов
/ 21 февраля 2019

Я использую django-import-export для загрузки CSV-файлов через администратор django.У меня есть возможность переопределить функцию before_import, чтобы добавить функциональность перед импортом.У меня есть CSV-файл без заголовков, и фактические данные начинаются с первой строки.Мне нужно добавить заголовок или вставить строку перед загрузкой моего csv-файла, чтобы его можно было правильно прочитать.

class UpdateResource(resources.ModelResource):
    def before_import(self, dataset, using_transactions, dry_run, **kwargs):
        dataset.header = ['sku', 'quantity']

    class Meta:
        model = Upload
        import_id_fields = ('sku',)

Этот код изменяет значение первой строки моего csv-файла на sku,quantity, но мне нужно вставить один над этим значением, а не заменить его.В качестве альтернативы, если есть возможность игнорировать заголовки и просто отображать значения в моей модели слева направо или что-то в этом роде, это тоже было бы здорово.

1 Ответ

0 голосов
/ 23 февраля 2019

Мое исправление состояло в том, чтобы сохранить первую строку как переменную, создать нужный заголовок и добавить первую строку в конец файла.

class UpdateResource(resources.ModelResource):
    def before_import(self, dataset, using_transactions, dry_run, **kwargs):
        first_row = dataset.header
        dataset.header = ['sku', 'quantity']
        dataset.append(first_row)
...