无法在 django-import-export 中使用 before_import 覆盖函数插入 header

Cannot Insert header using the before_import override function in django-import-export

我正在使用 django-import-export 通过 django admin 上传 csv 文件。我可以覆盖 before_import 函数以在导入之前添加功能。我有一个没有 headers 的 csv 文件,实际数据从第一行开始。我需要添加一个 header,或者在我的 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,但我需要在该值之上插入一个值,而不是替换它。或者,如果有一个选项可以忽略 headers 并且只是将值从左到右映射到我的模型,那也很好。

我的解决方法是将第一行存储为变量,创建所需的 header 并将第一行附加到文件末尾。

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)