Задать вопрос
@NyxDeveloper

Как в Django добавить связь m2m для нескольких объектов?

Есть две модели
class Model1(models.Model):
    name = models.CharField(max_length=100)
    models2 = models.ManyToManyField("app.Model2")

class Model2(models.Model):
    name = models.CharField(max_length=100)


Как мне при создании нового объекта класса Model2 добавлять ему связи со всеми объектами Model1?
Я пробовал переопределить у модели Model2 метод save:
def save(self, *args, **kwargs):
        if not self.id:
            super(Model2, self).save(*args, **kwargs)
            self.model1_set.add(*self.model1_set.model.objects.all())

Но это не работает.
Подскажите что делать, не могу ничего полезного найти.
  • Вопрос задан
  • 165 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@NyxDeveloper Автор вопроса
def save(self, *args, **kwargs):
        if not self.id:
            super(Model2, self).save(*args, **kwargs)
            self.model1_set.add(*self.task_set.model.objects.values_list("id", flat=True))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы