Consulta de filtro de clave externa auto recursiva de Django para todos los niños

Tengo este modelo con una relación de clave externa autorreferenciada:

class Person(TimeStampedModel):
    name = models.CharField(max_length=32)
    parent = models.ForeignKey('self', null=True, blank=True, related_name='children')

Ahora quiero obtener todos los niños de varios niveles para una persona. ¿Cómo escribo una consulta de Django para ello? Tiene que comportarse como una función recursiva.

Respuestas a la pregunta(7)

Su respuesta a la pregunta