У меня есть эта модель с самостоятельной ссылкой внешних ключей соотношения:Django самостоятельно рекурсивный ForeignKey фильтр запрос для все Чайлдса
class Person(TimeStampedModel):
name = models.CharField(max_length=32)
parent = models.ForeignKey('self', null=True, blank=True, related_name='children')
Теперь я хочу, чтобы получить все мультиплексные ребенок уровня для человека. Как написать для него запрос Django? Он должен вести себя как рекурсивная функция.
Должен быть get_all_children() в качестве вызова функции, и вам нужно использовать r = r + c.get_all_children(), или вы получите вложенные списки. Кажется, у меня нет прав на редактирование – alan
Обновлен код в соответствии с комментарием. Если всем было разрешено редактировать все сообщения, у нас была бы большая проблема :) – sunn0
Я думаю, что это должно иметь 'include_self = True' во внутреннем вызове функции. В противном случае, при каждой рекурсии мы просто спускаемся на еще один уровень, никогда ничего не добавляя к 'r'. Это только работало правильно для меня после внесения изменений. – andy