问题描述
NocoDB 的 Lookup 字段目前可以链式穿透, 目前迁移到teable遇到困难.
Teable 的 Lookup 字段目前不支持链式穿透(Lookup of Lookup),即无法从一个 Lookup 字段再创建 Lookup。
复现步骤
假设有三张表:
- 表 A (orders)
- 表 B (products),通过 Link 关联表 A
- 表 C (categories),通过 Link 关联表 B
- 在表 B 上创建 Lookup 字段
category_name,来源为 Link 到表 C 的 name 字段 → ✅ 成功
- 在表 A 上创建 Lookup 字段,来源为 Link 到表 B 的
category_name(步骤 1 创建的 Lookup 字段)→ ❌ 失败,目标字段列表中不显示 Lookup 类型的字段
期望行为
能够从一个 Lookup 字段再创建 Lookup,实现多层穿透。例如:
```
orders → (Link) products → (Lookup) category_name → (Lookup from Lookup) order_category_name
```
这样可以在 orders 表上直接访问到 categories 表的 `name` 字段值。
对比
NocoDB 支持这种链式 Lookup 穿透,可以逐层创建 Lookup 字段实现任意深度的跨表字段引用。
当前 Workaround
在每一级中间表上分别创建 Lookup 指向原生字段,而非 Lookup of Lookup。但这会导致字段数膨胀(详见下方评论的复杂度分析)。
环境
- Teable 版本:latest (Docker image `ghcr.io/teableio/teable:latest`)
- 部署方式:Docker 自建
问题描述
NocoDB 的 Lookup 字段目前可以链式穿透, 目前迁移到teable遇到困难.
Teable 的 Lookup 字段目前不支持链式穿透(Lookup of Lookup),即无法从一个 Lookup 字段再创建 Lookup。
复现步骤
假设有三张表:
category_name,来源为 Link 到表 C 的name字段 → ✅ 成功category_name(步骤 1 创建的 Lookup 字段)→ ❌ 失败,目标字段列表中不显示 Lookup 类型的字段期望行为
能够从一个 Lookup 字段再创建 Lookup,实现多层穿透。例如:
```
orders → (Link) products → (Lookup) category_name → (Lookup from Lookup) order_category_name
```
这样可以在 orders 表上直接访问到 categories 表的 `name` 字段值。
对比
NocoDB 支持这种链式 Lookup 穿透,可以逐层创建 Lookup 字段实现任意深度的跨表字段引用。
当前 Workaround
在每一级中间表上分别创建 Lookup 指向原生字段,而非 Lookup of Lookup。但这会导致字段数膨胀(详见下方评论的复杂度分析)。
环境