Как получить доступ к значениям строк при импорте файла с помощью Django Import-Export?
Я импортирую файл с помощью 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
и каждый ряд, кажется, имеет raw_values
свойство, но оно возвращается пустым.
0 ответов
Попробуйте использовать приведенный ниже код.
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 среди других.