---
title: Criar Relações Muitos-para-muitos
description: Conecte registros em que muitos itens de ambos os lados podem ser vinculados usando objetos de junção.
---
Relações muitos-para-muitos permitem conectar vários registros em ambos os lados. Por exemplo: muitas Pessoas podem trabalhar em muitos Projetos, e cada Projeto pode ter muitas Pessoas.
**Recurso Beta**: As relações de junção estão atualmente em beta. Ative-as em **Settings → Community → Features** antes de seguir este guia.
Este recurso também requer que o **Modo Avançado** esteja ativado (alternador no canto inferior esquerdo de Settings).
## Quando Usar Muitos-para-Muitos
Use muitos-para-muitos quando ambos os lados de uma relação podem ter múltiplas conexões:
| Relação | Exemplo |
| -------------------- | ------------------------------------------------------------------------------------- |
| Pessoas ↔ Projetos | Uma pessoa trabalha em vários projetos; um projeto tem vários membros da equipe |
| Empresas ↔ Etiquetas | Uma empresa pode ter várias etiquetas; uma etiqueta pode se aplicar a várias empresas |
| Produtos ↔ Pedidos | Um produto pode estar em vários pedidos; um pedido contém vários produtos |
## Como Funciona
A Twenty usa um padrão de **objeto de junção** para relações muitos-para-muitos. Um objeto de junção fica entre dois objetos e mantém as conexões:
```
People ←→ Project Assignments ←→ Projects
```
O objeto **Atribuições de Projeto** (junção) tem:
* Uma relação com Pessoas (muitos-para-um)
* Uma relação com Projetos (muitos-para-um)
Ao ativar o alternador de relação de junção, a Twenty exibe os registros vinculados diretamente em vez de mostrar os registros intermediários de junção.
## Pré-requisitos
1. **Ative Relações de Junção em Recursos Beta**: Vá para **Settings → Community → Features** e ative **Junction Relations**
2. **Ative o Modo Avançado**: Ative o **Modo Avançado** no canto inferior esquerdo da barra lateral de Settings
3. Planeje seu modelo de dados:
* Quais dois objetos você está conectando?
* Qual deve ser o nome do objeto de junção?
## Etapa 1: Criar o Objeto de Junção
Primeiro, crie o objeto intermediário que manterá as conexões.
1. Vá a **Definições → Modelo de Dados**
2. Clique **+ Adicionar objeto**
3. Dê um nome descritivo (por exemplo, "Atribuição de Projeto", "Membro da Equipe", "Pedido de Produto")
4. Ative a opção "Ignorar a criação de um campo Nome"
5. Clique em **Salvar**
**Convenção de nomenclatura**: Use um nome que descreva a relação, como "Atribuição de Projeto" ou "Participação na Equipe". Isso torna o modelo de dados mais fácil de entender.
## Etapa 2: Crie relações entre os objetos e o objeto de junção
Adicione campos de relação de cada um dos seus dois objetos ao objeto de junção.
### Primeira Relação (Objeto A → Junção)
1. Selecione seu primeiro objeto em **Settings → Data Model**
2. Clique em **+ Adicionar relação**
3. Selecione o objeto de junção (por exemplo, "Atribuições de Projeto")
4. Defina o tipo de relação como **Um-para-muitos** (uma pessoa pode se vincular a muitas atribuições)
5. Nomeie os campos:
* Campo em Pessoas: por exemplo, "Atribuições de Projeto"
* Campo na junção: por exemplo, "Pessoa"
6. Clique em **Salvar**
### Segunda Relação (Objeto B → Junção)
1. Selecione seu segundo objeto em **Settings → Data Model**
2. Clique em **+ Adicionar relação**
3. Selecione o objeto de junção (por exemplo, "Atribuições de Projeto")
4. Defina o tipo de relação como **Um-para-muitos** (um projeto pode se vincular a muitas atribuições)
5. Ative **"Esta é uma relação com um objeto de junção"**
6. Nomeie os campos:
* Campo na junção: por exemplo, "Projeto"
* Campo em Projetos: por exemplo, "Membros da Equipe"
7. Clique em **Salvar**
## Etapa 3: Configurar a Exibição da Relação de Junção
Agora configure os objetos de origem para exibir diretamente os registros vinculados, ignorando o objeto de junção intermediário.
1. Vá a **Definições → Modelo de Dados**
2. Selecione o primeiro objeto (por exemplo, "Pessoas")
3. Encontre o campo de relação apontando para o objeto de junção (por exemplo, "Atribuições de Projeto")
4. Clique para editar o campo
5. Ative **"Esta é uma relação com um objeto de junção"**
6. Selecione a **Relação de destino** (por exemplo, "Projeto" — o campo na junção que aponta para o outro lado)
7. Clique em **Salvar**
## Resultado
Após a configuração:
* Em um registro de **Pessoa**, o campo "Atribuições de Projeto" exibe **Projetos** diretamente (não registros de atribuição)
* Em um registro de **Projeto**, o campo "Membros da Equipe" exibe **Pessoas** diretamente
O objeto de junção ainda existe e armazena as conexões, mas a interface apresenta uma visualização muitos-para-muitos mais limpa.
## Exemplo: Pessoas ↔ Projetos
Aqui está um passo a passo completo:
### Criar o Objeto de Junção
* Nome: **Atribuição de Projeto**
* Descrição: "Vincula pessoas aos projetos em que trabalham"
### Adicionar Relações
1. **Pessoas → Atribuição de Projeto**
* Tipo: Um-para-muitos
* Campo em Pessoas: "Atribuições de Projeto"
* Campo em Atribuição: "Pessoa"
2. **Projetos → Atribuição de Projeto**
* Tipo: Um-para-muitos
* Campo em Projetos: "Membros da Equipe"
* Campo em Atribuição: "Projeto"
### Configurar Exibição de Junção
1. No objeto **Pessoas**:
* Edite o campo "Atribuições de Projeto"
* Ative o alternador de junção
* Destino: "Projeto"
2. No objeto **Projetos**:
* Edite o campo "Membros da Equipe"
* Ative o alternador de junção
* Destino: "Pessoa"
### Use
* Abra um registro de Pessoa → Veja seus Projetos diretamente
* Abra um registro de Projeto → Veja os membros da equipe diretamente
* Crie novas conexões de qualquer um dos lados
## Adicionando Dados Extras às Conexões
Como o objeto de junção é um objeto real, você pode adicionar campos personalizados para armazenar informações sobre a relação:
* **Função**: "Desenvolvedor", "Designer", "Gerente"
* **Data de Início**: Quando a pessoa entrou no projeto
* **Horas Alocadas**: Horas semanais neste projeto
Para acessar esses dados, navegue diretamente até o objeto de junção ou consulte-o via API.
## Limitações
* **Importação/Exportação CSV**: A importação de relações muitos-para-muitos diretamente não é suportada. Em vez disso, importe registros para o objeto de junção.
* **Filtros**: A filtragem por relações muitos-para-muitos pode ter opções limitadas.
## Relacionados
* [Campos de Relação](/l/pt/user-guide/data-model/capabilities/relation-fields) — tipos de relação explicados
* [Criar Objetos Personalizados](/l/pt/user-guide/data-model/how-tos/create-custom-objects) — como criar objetos
* [Criar Campos de Relação](/l/pt/user-guide/data-model/how-tos/create-relation-fields) — configuração básica de relação