Esta función también requiere que Advanced mode esté activado (interruptor en la esquina inferior derecha de Settings).
Cuándo usar relaciones de muchos a muchos
Usa relaciones de muchos a muchos cuando ambos lados de una relación pueden tener varias conexiones:| Relación | Ejemplo |
|---|---|
| People ↔ Projects | Una persona trabaja en varios proyectos; un proyecto tiene varios miembros del equipo |
| Companies ↔ Tags | Una empresa puede tener varias etiquetas; una etiqueta puede aplicarse a varias empresas |
| Products ↔ Orders | Un producto puede estar en varios pedidos; un pedido contiene varios productos |
Cómo Funciona
Twenty utiliza un patrón de objeto de unión para las relaciones de muchos a muchos. Un objeto de unión se sitúa entre dos objetos y contiene las conexiones:- Una relación con People (muchos a uno)
- Una relación con Projects (muchos a uno)
Prerrequisitos
- Habilita Junction Relations en Lab: Ve a Settings → Updates → Lab y habilita Junction Relations
- Activa Advanced mode: Activa Advanced mode en la parte inferior derecha de la barra lateral de Settings
- Planifica tu modelo de datos:
- ¿Qué dos objetos estás conectando?
- ¿Cómo debería llamarse el objeto de unión?
Paso 1: Crear el objeto de unión
Primero, crea el objeto intermedio que contendrá las conexiones.- Vaya a Configuración → Modelo de datos
- Haga clic en + New object
- Asígnale un nombre descriptivo (p. ej., “Project Assignment”, “Team Member”, “Product Order”)
- Haga clic en Guardar
Paso 2: Crear relaciones desde el objeto de unión
Agrega campos de relación desde el objeto de unión a ambos objetos que quieres conectar.Primera relación (Unión → Objeto A)
- Selecciona tu objeto de unión en Settings → Data Model
- Haga clic en + Add Field
- Elige Relation como tipo de campo
- Selecciona el primer objeto (p. ej., “People”)
- Configura el tipo de relación como Many-to-One (muchas asignaciones pueden vincularse a una persona)
- Nombra los campos:
- Campo en unión: p. ej., “Person”
- Campo en People: p. ej., “Project Assignments”
- Haga clic en Guardar
Segunda relación (Unión → Objeto B)
- Aún en el objeto de unión, haz clic en + Add Field
- Elige Relation como tipo de campo
- Selecciona el segundo objeto (p. ej., “Projects”)
- Configura el tipo de relación como Many-to-One
- Nombra los campos:
- Campo en unión: p. ej., “Project”
- Campo en Projects: p. ej., “Team Members”
- Haga clic en Guardar
Paso 3: Configurar la visualización de la relación de unión
Ahora configura los objetos de origen para mostrar los registros vinculados directamente, omitiendo el objeto de unión intermedio.- Vaya a Configuración → Modelo de datos
- Selecciona el primer objeto (p. ej., “People”)
- Encuentra el campo de relación que apunta al objeto de unión (p. ej., “Project Assignments”)
- Haz clic para editar el campo
- Activa “This is a relation to a Junction Object”
- Selecciona la Target relation (p. ej., “Project” — el campo en la unión que apunta al otro lado)
- Haga clic en Guardar
- Selecciona “Projects” en Data Model
- Edita el campo de relación “Team Members”
- Activa el interruptor de unión
- Selecciona “Person” como la relación de destino
- Guardar
Resultado
Después de la configuración:- En un registro de Person, el campo “Project Assignments” muestra Projects directamente (no registros de asignación)
- En un registro de Project, el campo “Team Members” muestra People directamente
Ejemplo: People ↔ Projects
Aquí tienes una guía completa paso a paso:Crear el objeto de unión
- Nombre: Project Assignment
- Descripción: “Vincula a las personas con los proyectos en los que trabajan”
Agregar relaciones
-
Project Assignment → People
- Tipo: Many-to-One
- Campo en Assignment: “Person”
- Campo en People: “Project Assignments”
-
Project Assignment → Projects
- Tipo: Many-to-One
- Campo en Assignment: “Project”
- Campo en Projects: “Team Members”
Configurar la visualización de la unión
-
En el objeto People:
- Edita el campo “Project Assignments”
- Activa el interruptor de unión
- Destino: “Project”
-
En el objeto Projects:
- Edita el campo “Team Members”
- Activa el interruptor de unión
- Destino: “Person”
Úsalo
- Abre un registro de Person → Ve sus Projects directamente
- Abre un registro de Project → Ve los miembros del equipo directamente
- Crea nuevas conexiones desde cualquiera de los dos lados
Agregar datos adicionales a las conexiones
Como el objeto de unión es un objeto real, puedes agregar campos personalizados para almacenar información sobre la relación:- Rol: “Desarrollador”, “Diseñador”, “Gerente”
- Fecha de inicio: Cuando se unieron al proyecto
- Horas asignadas: Horas semanales en este proyecto
Limitaciones
- Importación/Exportación CSV: No se admite importar relaciones de muchos a muchos directamente. En su lugar, importa registros al objeto de unión.
- Filtros: Filtrar por relaciones de muchos a muchos puede tener opciones limitadas.
Relacionado
- Campos de relación — tipos de relaciones explicados
- Crear objetos personalizados — cómo crear objetos
- Crear campos de relación — configuración básica de relaciones