Django优化递归查询

时间:2020-02-08 08:57:48

标签: sql django postgresql optimization

我有这个Django模型:

class Employee(models.Model):
    manager = models.ForeignKey('self', related_name='subordinates', on_delete=models.PROTECT, null=True, blank=True, default=None)
    is_admin_manager = models.BooleanField(default=False)
    ****

此外,我具有此递归函数,该函数在DRF序列化程序中调用雇员的每个实例:

    def _get_admin_manager(self, obj):
    if not obj:
        return None
    if obj.is_admin_manager:
        return obj
    return self._get_admin_manager(obj.manager)

问题是,垂直层次结构越复杂,将向DB创建更多请求。 有没有办法对此进行优化?

0 个答案:

没有答案