> ## Documentation Index
> Fetch the complete documentation index at: https://docs.get-clara.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# 导入对象之间的关系

> 通过 CSV 导入记录之间的关系。

## 概览

Twenty 支持在 CSV 导入过程中导入对象之间的关系。 这使您可以在数据迁移过程中关联记录（例如，将人员关联到公司）。

<Note>**当前支持导入**：两侧均指向单一对象类型的一对多关系（例如，人员 → 公司）。 指向多个对象类型的关系目前尚不支持导入/导出。</Note>

## Twenty 中关系的工作方式

### 一对多 / 多对一

Twenty 支持一条记录关联到多条记录的标准关系：

* **一个公司 → 多个人员**：一家公司可以有多名员工，但每个人只隶属于一家公司
* **一个公司 → 多个商机**：一家公司可以有多个商机，但每个商机只属于一家公司

### 可指向多种对象类型的关系

某些关系可以连接到不同类型的对象。 这有两种方式：

**模式 1：来自不同对象类型的多条记录，各自链接到一条记录**

多条笔记、任务或活动可以同时附加到多种对象类型：

* **笔记** 可以同时关联到一个人员、一个公司和一个商机
* **任务** 可以同时关联到一个人员、一个公司和一个商机

在此场景中，笔记/任务位于“多”的一侧。 每条记录在每种对象类型上都仅链接到一条记录。

<img src="https://mintcdn.com/clara-1b8b12e1/nw6qFuBqeI4qyyh5/images/user-guide/fields/many-to-one-morph.png?fit=max&auto=format&n=nw6qFuBqeI4qyyh5&q=85&s=003e7e0f66efe1e347befb1a82b69260" style={{width:'100%'}} width="1972" height="1028" data-path="images/user-guide/fields/many-to-one-morph.png" />

**模式 2：一条记录接收来自不同对象类型的多条记录的链接**

一个项目可以接收来自不同对象类型的多条记录的链接：

* **一个项目** 可以关联到许多人员、许多公司，并附加许多笔记

在此场景中，项目位于“一”的一侧。 来自不同对象的多条记录都可以链接到同一个项目。

<img src="https://mintcdn.com/clara-1b8b12e1/nw6qFuBqeI4qyyh5/images/user-guide/fields/one-to-many-morph.png?fit=max&auto=format&n=nw6qFuBqeI4qyyh5&q=85&s=df4ebde69f07ef569100ce7673fadc17" style={{width:'100%'}} width="2000" height="1032" data-path="images/user-guide/fields/one-to-many-morph.png" />

<Warning>
  **导入/导出限制**：指向多个对象类型的关系（如 笔记 → 人员/公司/商机）在 CSV 导入或导出中**尚不支持**。

  * **导入**：仅支持导入两侧均指向单一对象类型的一对多关系
  * **导出**：指向多个对象类型的关系列目前会留空

  此功能已在我们的路线图中。
</Warning>

### 当前不支持的内容

**多对多关系** 目前尚不可用。 例如，您目前无法创建如下关系：

* 多个人员关联到多个项目

<Note>多对多关系计划在 2026 年上半年推出。</Note>

## 在导入过程中关联记录

<Note>**提醒**：仅可导入指向单一对象类型的一对多关系（例如，人员 → 公司）。 指向多个对象类型的关系（例如，笔记 → 人员/公司/商机）目前尚不支持。</Note>

### 步骤 1：确定“一”和“多”两侧

首先，确定关系中哪个对象位于“一”侧，哪个对象位于“多”侧。

**示例**：

* **公司** 位于“一”侧（一个公司有许多员工）
* **人员** 位于“多”侧（每个人都隶属于一家公司）

### 步骤 2：确保“一”侧的记录已存在

在导入“多”侧之前，“一”侧的记录必须已在 Twenty 中存在。

* 请先导入或创建“一”侧的记录（例如，公司）
* 验证其唯一标识符。 可以是：
  * `id`（Twenty 的 UUID）
  * 一个被设置为唯一的字段（例如，公司的 `domain`，或您先前系统中的外部 ID）

<Warning>若引用了不存在的记录，导入将失败。</Warning>

### 步骤 3：准备您的 CSV 文件

在“多”侧的 CSV 文件中添加一列，用于引用“一”侧的记录。

**示例**：对于将人员关联到公司的 CSV 文件：

```
firstName,lastName,email,companyDomain
John,Smith,john@acme.com,https://acme.com
Jane,Doe,jane@widgets.co,https://widgets.co
```

**重要**：

* 该值必须与公司记录上的唯一字段**完全匹配**
* 对于域名，请使用**域名 URL**（例如，`https://acme.com`），而不是域名标签
* 每个关系只映射**一个**唯一标识符：这将使导入更顺畅

### 步骤 4：核实关系字段是否存在

在上传文件之前，确保对象之间已存在关系字段。

如果不存在：

1. 进入 **设置 → 数据模型**
2. 选择您的对象（例如，人员）
3. 创建一个指向目标对象（例如，公司）的关系字段

### 步骤 5：上传并映射关系

1. 通过导入界面上传您的 CSV 文件
2. 在字段映射步骤中，找到您的关系列（例如，`companyDomain`）
3. 将其映射到关系字段（例如，公司）
4. Twenty 将自动把每条记录关联到匹配的父级

### 可用于关系的唯一字段

| 对象               | 可用的唯一字段                 |
| ---------------- | ----------------------- |
| **公司**           | `id`、`domain`，任何自定义唯一字段 |
| **人员**           | `id`、`email`，任何自定义唯一字段  |
| **工作区成员**        | `id`、`email`（而非姓名）      |
| **其他标准对象和自定义对象** | `id`，或任何标记为唯一的字段        |

<Note>**关联到工作区成员**：当关系指向工作区成员（您的团队登录 Twenty）时，请使用其**电子邮件地址**进行引用，而不是姓名。</Note>

<Note>我们建议对公司使用 `domain`，对人员使用 `email`，因为这些字段可读性强，且易于在电子表格中维护。</Note>

<Note>**提醒**：软删除的记录（可在“命令菜单 → 查看已删除的记录”中查看）计入唯一性判定标准。 如果您导入的记录与某条已删除记录具有相同的唯一值，该已删除记录将被还原。 详见[唯一性约束](/l/zh/user-guide/data-migration/capabilities/uniqueness-constraints)。</Note>

## 导入顺序规则

<Warning>
  **务必先导入“一”端！**

  1. **公司** 优先（无依赖关系）
  2. **人员** 其次（关联到公司）
  3. **商机** 第三（关联到公司/人员）
  4. **自定义对象**（按其依赖关系）

  在引用之前，父级记录必须已存在。
</Warning>
