Реализация модели самозависимости (один-ко-многим)

Я хотел бы реализовать модель с самозависимостью. Скажем, экземпляр People_A может зависеть от People_B и People_C. Сначала я реализую эту модель со многими ключами.

class People(models.Model):

dependency = models. ManyToManyField ('self', blank=True, null=True)

Но результат состоит в том, что если People_A зависит от People_B, результат People_B зависит также от People_A. То что я не хочу иметь.

Затем я реализую его с помощью внешнего ключа.

class People(models.Model):

dependency = models.ForeignKey('self', blank=True, null=True)

Но это тоже не работает. Если People_A зависит от People_B, то никакие другие Люди не могут зависеть от People_B. Он будет охватывать старую зависимость с последней зависимостью.

Любая подсказка будет благодарна

Ответ 1

Я думаю, что это то, что вы ищете:

dependencies = models.ManyToManyField("self", symmetrical=False)

См. docs для симметричного.