관계 작동 방식
모든 관계에는 서로를 참조하는 두 개의 필드가 필요합니다:- MANY_TO_ONE 측 — 외래 키를 보유한 객체에 존재합니다.
- ONE_TO_MANY 측 — 컬렉션을 소유한 객체에 존재합니다.
FieldType.RELATION을 사용하며 relationTargetFieldMetadataUniversalIdentifier를 통해 서로를 교차 참조합니다.
예시: Post Card에는 여러 수신자가 있습니다
PostCard는 여러 PostCardRecipient 레코드에 전송될 수 있습니다. 각 수신자는 정확히 하나의 Post Card에 속합니다.
1단계: PostCard에서 ONE_TO_MANY 측을 정의합니다 (“one” 측):
src/fields/post-card-recipients-on-post-card.field.ts
src/fields/post-card-on-post-card-recipient.field.ts
순환 임포트: 두 관계 필드는 서로의
universalIdentifier를 참조합니다. 순환 임포트 문제를 피하려면, 각 파일에서 필드 ID를 명명된 상수로 export하고 다른 파일에서 import하세요. 빌드 시스템은 컴파일 시점에 이를 해결합니다.표준 객체와의 관계 설정
내장 Twenty 객체(Person, Company 등)와 관계를 만들려면STANDARD_OBJECT_UNIVERSAL_IDENTIFIERS를 사용하세요:
src/fields/person-on-self-hosting-user.field.ts
관계 필드 속성
인라인 관계 필드
defineObject 안에서 관계를 직접 선언할 수도 있습니다. 인라인인 경우에는 objectUniversalIdentifier를 생략하세요 — 상위 객체에서 상속됩니다: