Как присвоить несколько объектов к полю ManyToManyField Django
Подскажите как при записи в бд добавить к полю ManyToManyField
несколько объектов. Вот написал парсер который из текстовика забирает данные и записывает в модели, где идет связь по ForeignKey
проблем не возникло, а вот с 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
Парсер:
def get_article():
article_res_list = []
brand_no_id = Suppliers200.objects.filter(brand_no=int(row['brandno'])).first()
country = Country202.objects.filter(country_code=row['countrycode']).first() # Todo
article_res_list.append(Article200(
art_no=row['artno'],
brand_no_id=brand_no_id,
country_id=country
))
Article200.objects.bulk_create(article_res_list, batch_size=1000, ignore_conflicts=True)
print('---------------END Article--------------------')
Ошибка:
TypeError: Direct assignment to the forward side of a many-to-many set is prohibited. Use country_id.set() instead.