【问题标题】:How do I access the row values when importing a file with Django Import-Export?使用 Django Import-Export 导入文件时如何访问行值?
【发布时间】:2019-02-12 23:40:10
【问题描述】:

我正在使用 django import-export 导入一个文件,我想获取每一行的值。

例如:

import_resource = ImportResource()
dataset = Dataset()
imported_data = dataset.load(import_file.read().decode('utf-8'))
result = import_resource.import_data(dataset, dry_run=True)

我使用 result.rows 遍历 Result 的行,每一行似乎都有一个 raw_values 属性,但它返回空。

【问题讨论】:

    标签: django django-import-export


    【解决方案1】:

    试试下面的代码。

    class OtherResource(resources.ModelResource):
        """
        My code
        """               
        def before_import_row(self, row, **kwargs):
            row['created_by'] = kwargs.get('user')
            row['modified_by'] = kwargs.get('user')
    
    class MyClassAdmin(ImportMixin, admin.ModelAdmin):
    
        resource_class = OtherResource
    
        def import_data(self, dataset, dry_run=False, raise_errors=False, use_transactions=None, collect_failed_rows=False, **kwargs):
            """
            Getting the user's request to pass it to the import
            """
            result = OtherResource.import_data(dataset, dry_run=False, raise_errors=False, use_transactions=None, user=self.request.user)
            return result
    

    您必须记住有很多操作,例如:before_import_row、after_import_row 等等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-17
      • 2015-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2022-07-18
      • 1970-01-01
      相关资源
      最近更新 更多