Python/Django итерация полей, связанных с ManyToMany

Мне нужна помощь с проблемой.

У меня есть три модели: справочная, связь и схема. Отношение является неотъемлемой частью первого. Цепи и отношения связаны между собой. Что мне нужно сделать, так это: - Я нахожусь в ссылке 1, и я выбрал несколько цепей внутри моего Relation1 to RelationN. - Когда я сохраняю, мне нужно сохранить Relation1 в RelationN и другие RelationFirst (созданные при сохранении эталонной модели), которые должны содержать все схемы, существующие в других отношениях этого эталона.

Код, который у меня есть сейчас, кто не делает это:

class Reference(models.Model):
    title = models.CharField(max_length=200, verbose_name = _('title'))

    def __unicode__(self):
        return u"\n %s" %(self.title)

    def save(self, force_insert=False, force_update=False, *args, **kwargs):
        is_new = self.id is None
        super(Reference, self).save(force_insert, force_update, *args, **kwargs)
        if is_new:  
            Relation.objects.create(reference=self, first = True)
            relation = Relation.objects.get(reference=self, first = True)
            circuit = Circuit.objects.get(name = '0')
            relation.circuit.add(circuit)


class Relation(models.Model):
    first = models.BooleanField()
    reference = models.ForeignKey(Reference)
    circuit = models.ManyToManyField('Circuit', verbose_name = _('Circuits'), null=True, blank=True, related_name = 'relation_circuit')

    def __unicode__(self):
        return u"%s" %(self.reference)

    def save(self, force_insert=False, force_update=False, *args, **kwargs):
        relation1 = Relation.objects.get(reference=self.reference, first = True)
        super(Relation, self).save(force_insert, force_update, *args, **kwargs)
        for circ in self.circuits:
            circuit = Circuit.objects.get(pk = circ)
            relation1.circuit.add(circuit)

Любая помощь? Потому что я не могу перебрать ManyToManyRelatedField, и я не знаю, как это сделать. Большое спасибо!

1 ответ

Вы должны сделать это так:

for circ in self.circuit.all():
Другие вопросы по тегам