У меня есть класс, определенный в Python, с именем Employees
. Его атрибут id_supervisor
— это id
сотрудника, который за него отвечает.
Один сотрудник может отвечать за (контролировать) многих других сотрудников.
Это мой класс:
class Employee(DeclarativeBase):
__tablename__ = 'employees'
id_ = Column('id',Integer,primary_key=True)
name = Column(Unicode(50))
id_supervisor = Column(Integer, ForeignKey('employees.id'))
#other attributes ...
Что мне нужно сделать, так это получить всю иерархическую структуру компании, от босса компании (его атрибут id_supervisor
должен быть установлен на None
или самому себе) до самого нижнего рабочего в компании (он не будет контролировать рабочих). вообще).
Как это можно сделать? Я думал об использовании рекурсивной функции, но я действительно не знаю, как это сделать.
Любая помощь будет оценена по достоинству.