Cómo funcionan las relaciones
Cada relación requiere dos campos que se referencian entre sí:- El lado MANY_TO_ONE — vive en el objeto que contiene la clave foránea.
- El lado ONE_TO_MANY — vive en el objeto que es propietario de la colección.
FieldType.RELATION y se hacen referencia cruzada mediante relationTargetFieldMetadataUniversalIdentifier.
Ejemplo: la tarjeta postal tiene muchos destinatarios
UnPostCard puede enviarse a muchos registros PostCardRecipient. Cada destinatario pertenece exactamente a una tarjeta postal.
Paso 1: Define el lado ONE_TO_MANY en PostCard (el lado “uno”):
src/fields/post-card-recipients-on-post-card.field.ts
src/fields/post-card-on-post-card-recipient.field.ts
Importaciones circulares: ambos campos de relación hacen referencia al
universalIdentifier del otro. Para evitar problemas de importaciones circulares, exporta los ID de tus campos como constantes con nombre desde cada archivo e impórtalos en el otro. El sistema de compilación los resuelve en tiempo de compilación.Relacionar con objetos estándar
Para crear una relación con un objeto integrado de Twenty (Person, Company, etc.), usaSTANDARD_OBJECT_UNIVERSAL_IDENTIFIERS:
src/fields/person-on-self-hosting-user.field.ts
Propiedades del campo de relación
Campos de relación en línea
También puedes declarar una relación directamente dentro dedefineObject. Cuando es en línea, omite objectUniversalIdentifier — se hereda del objeto padre: