Django-import-export, импорт ManyToMany из XLSX
Для моего текущего проекта мне нужно импортировать данные из excelsheets формата .xlsx в django-admin. Я испытываю трудности с отношениями many2many, которые есть в моих моделях. Функция импорта просто не распознает поля many2many и импортирует только остальные поля (обычные и foreignkey). То же самое касается экспорта, все поля, кроме many2many, экспортируются в excelsheet, хотя мне не нужна эта функция, я просто тестировал ее.
Для лучшего понимания фрагменты кода из моих models.py, admin.py, resources.py и widgets.py.
Я пробовал использовать виджет many2many по умолчанию -> в ресурсе TeacherResource в файле resources.py и я также попробовал переопределить виджет m2m по умолчанию -> StudyfieldWidget в widgets.py
Похоже, вы не установили разделитель?
Вот как я заставляю его работать.
studyfields = fields.Field(
attribute='provider',
widget=widgets.ManyToManyWidget(Studyfield, field='title', separator=',')
)
Attribute = имя столбца, как в вашей модели. поле = имя связанного имени, которое вы собираетесь отправить, в вашем случае, звание или степень.
separator = как будет разделено в excel (boo, baa, bii)
надеюсь, это поможет.
Итак, я наконец-то добрался до решения этой проблемы, и решение на самом деле оказалось довольно простым:
studyfields = fields.Field(
column_name = 'provider',
attribute='provider',
widget=widgets.ManyToManyWidget(Studyfield, field='title', separator=',')
)
Как только я добавил имя_столбца, все заработало.