Я хочу построить структуру, подобную бинарному дереву (используя обратную связь)
сотрудник с полем report_to, равным null, является вершиной дерева (оценка A), с помощью обратного сериализатора я могу получить список контролируемых сотрудников (оценка B). но если сотрудник класса B контролирует некоторых сотрудников, то я должен пересмотреть связь этого списка сотрудников (уровень C). некоторые сотрудники категории B могут иметь или не иметь сотрудника, отчитывающегося перед ними. тогда сотрудник класса С может иметь или не иметь подчиненного сотрудника, и поэтому дерево растет до последнего сотрудника.
У меня есть таблица сотрудников и таблица job_info
class employee(models.Model):
first_name = models.CharField(max_length = 50)
last_name = models.CharField(max_length = 50)
class job_info(models.Model):
employeeid = models.OneToOneField(employee, on_delete = models.CASCADE)
report_to = models.ForeignKey(employee, on_delete = models.SET_NULL,related_name = "supervisor", null = True)
если мне нужно найти ограниченное количество обратного сериализатора, я могу записать необходимое количество обратного сериализатора. но в моем случае дерево может быть (0 балл) до (N балл). так как мне написать сериализатор, который может обрабатывать N номеров обратного сериализатора