Подтвердить что ты не робот

Import m2m отношение в django-import-export

использовать приложение 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?!

4b9b3361

Ответ 1

django-import-export имеет собственные виджеты для управления отношениями моделей:

    from import_export import widgets, fields, resources
    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 Виджеты