Как присвоить несколько объектов к полю ManyToManyField Django по ключу из словаря
Подскажите как при записи в бд добавить к полю ManyToManyField несколько объектов. Вот написал парсер который из текстовика забирает данные формирует словарь где ключ является artno и значения список из brandno, записывает в модели, где идет связь по ManyToManyField Связка происходит но не правильно. списки привязываются не в соответствии к ключами из словаря. Подскажите что не так.
Data:
artno brandno countrycode
A0001 4378 AZ
A0001 4378 AZ
A0001 4378 AZ
A0001 4378 AZ
A0001 4378 AZ
... ... ...
RN51002DSET 4682 TJK
RN51002DSET 4682 TM
RN51002DSET 4682 TM
RN51002DSET 4682 TM
RN51002DSET 4682 TM
Model:
class Country202(models.Model):
country_code = models.CharField(max_length=255, verbose_name="CountryCode", blank=True, null=True) #Код страны
country_name = models.CharField(max_length=255, verbose_name="CountryName", blank=True, null=True) #Имя страны
class Article200(models.Model):
art_no = models.CharField(max_length=255, verbose_name="ArtNo", blank=True, null=True) # ArtNo 200
country_id = models.ManyToManyField(Country202, blank=True, related_name='CountryArticle_200') #CountryCode 202
Script:
def get_article_in_country():
data_df_202 = get_data_in_txt('202')
data_df_202 = data_df_202[['artno', 'countrycode']]
countries_list = []
data = {}
for i, row in data_df_202.iterrows():
art = str(row["artno"]).strip()
code = str(row["countrycode"]).strip()
if art in data:
data[art].append(code)
else:
data[art] = []
data[art].append(code)
countries = Country202.objects.filter(country_code__in=data[art])
for article in data.keys():
obj = Article200.objects.get(art_no=article)
obj.country_id.set(countries)
print('---------------END article_in_country--------------------')