Все зависит от вашего формата CSV. Поскольку в вашей модели есть поле «многие ко многим», вы должны определить CSV таким образом, чтобы вы могли добавить столько «много ко многим полям», сколько захотите. Предположим, что ваш CSV имеет следующий формат.
name | type
Question 1 | question
Tag 11 | tag
Tag 12 | tag
Tag 13 | tag
Question 2 | question
Tag 21 | tag
Tag 22 | tag
Tag 23 | tag
Tag 24 | tag
Для этого типа формата вы можете написать свой код следующим образом
csv_rows = # write code to get CSV rows here
q_obj = None
for row in csv_rows:
if row[1] == 'question':
q_obj = Question.objects.create(name=row[0])
elif row[1] == 'tag':
if q_obj:
tag_obj = Tag.objects.create(name=row[0])
q_obj.Tag_name.add(tag_obj)
Этот формат и код будет обрабатывать любое количество тегов для вопрос