You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Notion API获取关联表字段对应的关联块数据?

Notion关联列读取关联块信息解决方案

问题根因

你当前使用的调用逻辑中,关联(Relation)类型列直接通过getattr读取仅会返回关联目标的ID值/ID数组,不会自动拉取关联块的完整结构化数据,需要手动调用接口拉取对应ID的块信息。

解决方案

  • 第一步:先从行属性中读取关联ID列表,验证返回值结构
  • 第二步:遍历ID列表调用client.get_block()拉取关联块完整信息,兼容单关联/多关联场景的代码实现如下:
block = client.get_block(notion_table_link)   
rows = [row for row in block.collection.get_rows()]

for row in rows:
    # 读取关联列的ID值
    relation_val = getattr(row, some_attribute_from_my_table)
    # 统一转换为数组格式,兼容单关联、无关联的场景
    relation_ids = relation_val if isinstance(relation_val, list) else [relation_val] if relation_val else []
    # 批量拉取关联块数据
    related_blocks = [client.get_block(rid) for rid in relation_ids]
    
    # 后续可直接读取关联块的所有属性,示例如下
    for related_block in related_blocks:
        # 读取关联块标题
        print(related_block.title)
        # 读取关联块的其他自定义字段
        # print(getattr(related_block, "other_custom_field"))

补充说明

如果你使用的是Notion官方新版API,拉取数据库条目时关联字段默认仅返回ID和基础元数据,同样需要调用Retrieve a page接口传入关联ID拉取完整页面数据。

内容的提问来源于stack exchange,提问作者Samvel Danielyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 20:24:08