Не смог более четко сформулировать заголовок, давайте я попробую на примере рассказать в чем возник вопрос.

Допустим у нас есть некие сущности A и B, а также вот такой код(он упрощен для примера), вопрос как избежать зацикливания?

Описание: Необходимо при сохранении "дочернего" класса дернуть ручку у "родительского", а он в свою очередь должен пересчитать некие показатели у "дочерних".

class A(models.Model):
    title и тд

    def save(self, *args, **kwargs):
        for b in self.get_child.all():
            b.upd()
        super(A, self).save(*args, **kwargs)


class B(models.Model):
    title и тд
    parent = models.ForeignKey(A, related_name='get_child')

    def upd(self):
        pass

    def save(self, *args, **kwargs):
        self.parent.save()
        super(B, self).save(*args, **kwargs)