TIP
이 문서는 AI로 번역되었습니다. 부정확한 내용이 있을 경우 영어 버전을 참조하세요
기본값
소개
기본값은 새 레코드를 생성할 때 필드의 초기값입니다. 컬렉션에서 필드를 구성할 때 기본값을 설정할 수 있으며, '새로 추가' 폼 블록에서 필드에 기본값을 지정할 수도 있습니다. 기본값은 상수 또는 변수로 설정할 수 있습니다.
기본값을 설정할 수 있는 곳
컬렉션 필드

'새로 추가' 폼의 필드
'새로 추가' 폼의 대부분 필드는 기본값 설정을 지원합니다.

서브폼에서 추가하기
'새로 추가' 또는 '편집' 폼 내의 서브폼 필드를 통해 추가되는 서브 데이터에는 기본값이 적용됩니다.
서브폼에서 '새로 추가'

기존 데이터를 편집할 때, 비어있는 필드는 기본값으로 채워지지 않습니다. 새로 추가되는 데이터에만 기본값이 적용됩니다.
관계 필드의 기본값
선택기 컴포넌트(Select, RecordPicker)를 사용하는 경우, '다대일' 및 '다대다' 관계 유형에만 기본값을 설정할 수 있습니다.

기본값 변수
사용 가능한 변수
- 현재 사용자;
- 현재 레코드; 이 변수는 기존 레코드에만 해당됩니다.
- 현재 폼; 이상적으로는 폼 내의 필드만 나열됩니다.
- 현재 객체; 서브폼 내의 개념입니다 (서브폼의 각 행에 대한 데이터 객체).
- URL 매개변수
변수에 대한 더 자세한 내용은 변수를 참조하십시오.
필드 기본값 변수
비관계 필드와 관계 필드, 두 가지 범주로 나뉩니다.
관계 필드 기본값 변수
- 변수 객체는 컬렉션 레코드여야 합니다.
- 상속 체인에 있는 컬렉션이어야 하며, 현재 컬렉션 또는 부모/자식 컬렉션일 수 있습니다.
- '폼에서 선택된 레코드' 변수는 '다대다' 및 '일대다/다대일' 관계 필드에서만 사용할 수 있습니다.
- 다단계 시나리오에서는 평탄화 및 중복 제거 처리가 필요합니다.
// 테이블에서 선택된 레코드:
[{id:1},{id:2},{id:3},{id:4}]
// 테이블에서 선택된 레코드/일대일:
[{toOne: {id:2}}, {toOne: {id:3}}, {toOne: {id:3}}]
// 평탄화 및 중복 제거
[{id: 2}, {id: 3}]
// 테이블에서 선택된 레코드/일대다:
[{toMany: [{id: 1}, {id:2}]}, {toMany: {[id:3}, {id:4}]}]
// 평탄화
[{id:1},{id:2},{id:3},{id:4}]
비관계 필드 기본값 변수
- 타입은 일치하거나 호환되어야 합니다. 예를 들어, 문자열은 숫자와 호환되며, toString 메서드를 제공하는 모든 객체도 호환됩니다.
- JSON 필드는 특별하며, 어떤 종류의 데이터든 저장할 수 있습니다.
필드 레벨 (선택 필드)

-
비관계 필드 기본값 변수
- 다단계 필드를 선택할 때, 일대일 관계에만 제한되며 일대다 관계는 지원하지 않습니다.
- JSON 필드는 특별하며, 제한 없이 사용할 수 있습니다.
-
관계 필드 기본값 변수
- hasOne은 일대일 관계만 지원합니다.
- hasMany는 일대일(내부 변환) 및 일대다 모두 지원합니다.
- belongsToMany는 일대일(내부 변환) 및 일대다 모두 지원합니다.
- belongsTo는 일반적으로 일대일 관계이지만, 부모 관계가 hasMany일 때는 일대다 관계도 지원합니다 (hasMany/belongsTo는 본질적으로 다대다 관계이기 때문입니다).
특수 상황 설명
'다대다'는 '일대다/다대일' 조합과 동일합니다.
모델

일대일 및 일대다 관계에 기본값이 없는 이유는 무엇인가요?
예를 들어, A.B 관계에서 b1이 a1과 연결되면 a2와는 연결될 수 없습니다. 만약 b1이 a2와 연결되면 a1과의 연결은 해제됩니다. 이 경우 데이터는 공유되지 않습니다. 반면 기본값은 공유 메커니즘(모두 연결 가능)이므로, 일대일 및 일대다 관계에는 기본값을 설정할 수 없습니다.
다대일 및 다대다 서브폼 또는 서브테이블에도 기본값을 설정할 수 없는 이유는 무엇인가요?
서브폼과 서브테이블의 주요 목적은 관계 데이터를 직접 편집(추가, 제거 포함)하는 것입니다. 반면 관계 기본값은 모두 연결될 수 있는 공유 메커니즘이지만, 관계 데이터를 수정할 수는 없습니다. 따라서 이러한 시나리오에서는 기본값을 제공하는 것이 적합하지 않습니다.
또한, 서브폼이나 서브테이블에는 하위 필드가 있습니다. 이때 서브폼이나 서브테이블의 기본값이 행 기본값인지 열 기본값인지 명확하지 않을 수 있습니다.
종합적으로 고려할 때, 어떤 관계 유형이든 서브폼이나 서브테이블에 직접 기본값을 설정할 수 없도록 하는 것이 더 적절합니다.