在django-import-export中导入m2m关系

时间:2015-12-03 11:04:06

标签: python django

使用应用程序django-import-export。以下是其中一个模型的示例配置:

class ImportExportAdsTypeResource(resources.ModelResource):
    class Meta:
        model = AdType
        import_id_fields = ('name',)
        fields = ['name', 'active', 'position', 'categories', 'sites']

网站和类别 - 是一个m2m字段。 导出工作正常,我们得到如下CSV文件:

name,active,position,sites,categories
Excport CSV test,1,13,1,"19,26"

但是当您尝试导入m2m字段时,不会添加。如何使用m2m关系导入数据?!

1 个答案:

答案 0 :(得分:9)

django-import-export 拥有自己的小部件来处理模型关系:

    from import_export import fields, resources
    from import_export.widgets import ManyToManyWidget

    class ImportExportAdsTypeResource(resources.ModelResource):
        categories = fields.Field(widget=ManyToManyWidget(Category))
        sites = fields.Field(widget=ManyToManyWidget(Site))

        class Meta:
            model = AdType
            import_id_fields = ('name',)
            fields = ['name', 'active', 'position', 'categories', 'sites']

点击此处查看其他小部件:django-import-export Widgets