“缓存多个”;“自我”;Django中的关系
我有一个具有自参考多个字段的模型:“缓存多个”;“自我”;Django中的关系,django,django-models,Django,Django Models,我有一个具有自参考多个字段的模型: class Suite(models.Model): suites = models.ManyToManyField("self", related_name="parents", summetrical=False ) 显示套件列表的当前用法是获取“master_套件”(父级为零的套件)列表,
class Suite(models.Model):
suites = models.ManyToManyField("self", related_name="parents",
summetrical=False
)
显示套件列表的当前用法是获取“master_套件”(父级为零的套件)列表,并从递归执行“suite.subsuites.all()”的套件开始,直到所有套件都用完为止
当前的方法是为每个这样的套件生成一个数据库查询,我想向其中添加缓存
整个过程可以通过首先加载套件列表Suite.objects.all()完成;以及子套件列表:Suite.subsuites.through.all(),并使用这两个数据集构建树
我想将这个“逻辑”添加到ManyRelatedManager,缓存Suite.subsuites.through.all()结果,并在视图中的循环期间使用缓存
但是我没有办法设置一个我自己的定制ManyRelatedManager。。。我该怎么做呢?我想你看错方向了。在这种情况下,您可能需要使用构造查询集、缓存它以及其他任何您想要的东西 用法,可以如下所示:
suite_tree = Suite.mymanager.construct_tree();
我认为你看错了方向。在这种情况下,您可能需要使用构造查询集、缓存它以及其他任何您想要的东西 用法,可以如下所示:
suite_tree = Suite.mymanager.construct_tree();