sql - Django优化递归查询
问题描述
我有这个 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 的请求就越多。有没有办法优化这个?
解决方案
推荐阅读
- python - docker中的mysql和flask
- flutter - 以变量名作为参数更改数据类的任何变量
- python - AttributeError:“kivy.properties.ObjectProperty”对象没有属性“background_normal”
- laravel - Laravel 6 - 关系顺序通过另一个关系
- java - 在 Wildfly 17 中启用向 JMS 主题发送/接收
- r - UseMethod(“group_vars”)中的错误:没有适用于“group_vars”的适用方法应用于“字符”类的对象> - 问题
- python - Python 中的动态 SQL 和动态 Select 语句
- php - 如果在 PHP < 7.2 中执行 session_start() 之后设置会话名称,会发生什么?
- python - 在熊猫数据框中按组识别第一个条目
- python - 如何去掉括号内的括号和数字?