使用应用程序 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 关系的数据?!
最佳答案
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
关于python - 在 django-import-export 中导入 m2m 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34064314/