Я ищу "pythonic" / "orm-ic" решение для этой проблемы ...
Модель Soldier
имеет себе ManyToManyField.
class Soldier(models.Model):
...
subordinates = models.ManyToManyField('Soldier', ...)
A
, B
и C
являются Soldier
объектами
Они образуют своего рода «цепочку команд» примерно так: A> B> C
B
находится в A.subordinates.all()
C
находится в B.subordinates.all()
Каков наилучший способ получить всех подчиненных A
?
Что-то вроде A.get_all_subordinates()
, которое должно вернуть [B, C]
.
Мы не знаем, сколько уровней этого отношения существует во время выполнения.(C
может иметь своих подчиненных, B
может иметь братьев и сестер и т. Д.)