【发布时间】:2017-10-31 07:36:35
【问题描述】:
Contentful 有一个“链接”的概念,它可以指向许多对象或一个对象。但是,如果不加倍工作(即指定每个对象的子对象和父对象),我找不到一种方法来模拟反向关系。
我想使用 Contentful 来支持这样的简单导航:
-
菜单项 1
- 子菜单项 1
- 子菜单项 2
- 子菜单项 3
-
菜单项 2
- 子菜单项 4
- 子菜单项 5
- 子菜单项 6
-- 子子菜单项1
链接可能类似于/<parent.slug>/<child.slug>/<child.slug>/
我可以通过遍历父关系来找到要呈现的页面条目,以确保我得到一个带有 slug 的页面,以及一个带有特定 slug 的父级。
但是,除非您在对象中包含“children”字段,否则很难在不使用多个 API 调用的情况下呈现子菜单项 - 这很容易出错和不一致。
【问题讨论】:
-
如果我说菜单中的每个项目都有对其父项的引用,但每个父项都不知道它的子项,我是否理解正确?
-
是的,我“通常”如何构建树形菜单结构只是具有父关系的子对象,然后能够使用自动反向关系遍历树 - 例如使用 Django ORM,这很简单。
标签: contentful