如何使用 Django-Import-Export 导入数据?

sed*_*nym 5 django django-import-export

django-import-export的文档在如何配置管理员从电子表格导入方面有点薄弱。有人有完整的例子吗?

sed*_*nym 1

以下是如何执行此操作,假设电子表格中的列名称为TitleField one。此示例假设每次导入都会重新创建模型实例(而不是通过主键更新)。

from django.contrib import admin
from import_export.admin import ImportMixin
from import_export import resources, fields
from .models import MyModel


class MyModelResource(resources.ModelResource):

    title = fields.Field(attribute='title',
                         column_name='Title')
    field_one = fields.Field(attribute='field_one',
                             column_name='Field one')

    def get_instance(self, instance_loader, row):
        # Returning False prevents us from looking in the
        # database for rows that already exist
        return False

    class Meta:
        model = MyModel
        fields = ('title', 'field_one')
        export_order = fields


class MyModelAdmin(ImportMixin, admin.ModelAdmin):
    resource_class = MyModelResource


admin.site.register(MyModel, MyModelAdmin)
Run Code Online (Sandbox Code Playgroud)