我试图通过提供比管理员中的平面列表更友好的东西来将 django-mptt 和 contrib.admin 联系在一起。因为树应该很大(否则我不会使用嵌套集),用户应该能够展开和折叠它的一部分。
当用户展开或折叠或展开一个分支(使用 ajax)时,还会设置一个 cookie,其中包含一个逗号分隔的折叠分支列表。这样,下次这个用户访问我的 django-mptt 驱动模型的管理员时,我可以向他展示他离开它的确切状态的树。现在我想使用这个折叠分支列表来通过只获取树的需要部分来减轻我的数据库的负担。
有没有办法有效地做到这一点?我用谷歌搜索的解决方案是对每个分支进行查询,这样他们就可以避免在分支折叠时进行查询,但这对我来说看起来不是很有效。也许有固定数量的查询是可能的?