Добавление нескольких данных в Many to many в Django

У меня есть проект, я хочу добавить() несколько данных в поле ManyToMany

 class Product(models.Model):
     name = models.models.CharField(Name)

 class Tags(models.Model):
     product_of_names = models.ForeignKey(Product)
     tag_name = models.models.CharField()

 class Group(models.Model):
     tag_group = models.ManyToManyField(Tags)

views.py

  def home(request, pk):
      product_name = Product.objects.get(pk=pk)
      tag = Tags.objects.filter(product_of_names=product_name)
      print(tag.id)
      >>> 1
      >>> 2
      >>> 3
      insert_data = Group.objects.create()
      insert_data.tag_group.add(tag)
      insert_data.save()

он добавляет только одного, я хочу добавить их всех в ManyToMany

Спасибо за любую помощь

Вы можете просто добавить больше объектов в метод .add().

insert_data.tag_group.add(tag_1, tag_2, tag_3)

или короче

insert_data.tag_group.add(*tags)

Вы также можете передать список, используя .set()

list_of_tags = list(Tags.objects.filter(product_of_names=product_name))
insert_data.tag_group.set(list_of_tags)

Прочитайте документацию: https://docs.djangoproject.com/en/4.1/ref/models/relations/#django.db.models.fields.related.RelatedManager.add

Вернуться на верх