1
关系,我有自引用多对多领域的典范:缓存多对多“自我”在Django
class Suite(models.Model):
suites = models.ManyToManyField("self", related_name="parents",
summetrical=False
)
显示套房列表的当前使用率取“master_suites”(套房,具有零列表父母),并从递归地开始“suite.subsuites.all()”开始,直到所有人都用尽。
目前的方式是为每个这样的套件生成一个数据库查询,我想向它添加缓存。
整个过程可以通过首先加载套房列表来完成,Suite.objects.all();和一个子套件列表:Suite.subsuites.through.all()并使用这两个数据集来构造树。
我想将此“逻辑”添加到ManyRelatedManager,缓存Suite.subsuites.through.all()结果,并在视图中的循环期间使用缓存。
但我发现没有办法设置自己的自定义ManyRelatedManager ...我该怎么做?