Field 클래스는 메시지에 정의된 모든 필드의 기본 클래스입니다. 개발자가 이 클래스를 확장할 수 없습니다.
Field
는 protorpc.messages
모듈에서 제공됩니다.
생성자
Field 클래스의 생성자는 다음과 같이 정의됩니다.
- class Field(message_type, number, [required=False | repeated=False], variant=None, default=None)
-
Field 인스턴스를 초기화합니다. Field의 각 하위 클래스는 다음을 정의해야 합니다.
VARIANTS
- 해당 필드에서 허용되는 변형 유형 집합입니다.
DEFAULT_VARIANT
- 생성자에서 지정되지 않은 경우, 기본 변형 유형입니다.
- 숫자
- 필드 번호입니다. 메시지 클래스마다 고유해야 합니다.
- required=False
- 이 필드가 필수인지 여부입니다.
repeated
인수와 상호 배타적입니다.required
를 사용하는 경우repeated
를 지정하지 마세요. - repeated=False
- 이 필드가 반복되는지 여부입니다.
required
인수와 상호 배타적입니다.repeated=True
를 사용하는 경우required=True
를 지정하지 마세요. - variant=None
- 주로 프로토콜 버퍼에 사용되는 추가 인코딩 정보를 제공합니다. 이러한 변형은
descriptor.proto
의 Type 값에 매핑됩니다. 권장사항은 기본값을 사용하는 것이지만 32비트, 64비트, 부호 없는 형식 등의 값을 지정할 수 있습니다. - default=None
- 기본 요청에 없는 경우, 필드의 기본값입니다.
참고: 반복 필드 또는 메시지 필드에는 기본값이 허용되지 않습니다.
다음과 같은 예외가 발생합니다.
- InvalidVariantError: 필드의 잘못된 변형을 제공한 경우
- InvalidDefaultError: 필드의 잘못된 기본값을 제공한 경우
- FieldDefinitionError: 잘못된 숫자를 제공하거나 상호 배타적인 필드를 사용한 경우
- InvalidNumberError: 필드 번호가 범위를 벗어나거나 예약되어 있는 경우
클래스 속성
FieldList 클래스에는 속성이 한 개 있습니다.
- default()
- 필드의 기본값입니다.
인스턴스 메소드
FieldList 인스턴스에는 다음과 같은 메소드가 있습니다.
- validate(value)
- 필드에 할당된 값 유효성을 검사합니다.
인수
- value
- 평가할 값입니다.
값이 예상 유형이 아닌 경우 ValidationError가 발생합니다.
- validate_default_element(value)
-
기본 필드에 할당된 값 유효성을 검사합니다. 단일 요소에만 해당됩니다.
순환 정의 참조의 경우, 일부 필드는 필요한 기본 유형의 지연된 확인을 허용할 수 있습니다. 이런 경우, 기본값은 모든 메시지 클래스를 정의한 후 필요할 때 확인되는 자리표시자일 수 있습니다.
인수- value
- 유효성을 검사할 기본값입니다.
값이 예상 유형이 아닌 경우 ValidationError가 발생합니다.
- validate_default(value)
-
필드의 기본값 유효성을 검사합니다.
인수- value
- 유효성을 검사할 기본값입니다.
값이 예상 유형이 아닌 경우 ValidationError가 발생합니다.
- message_definition()
-
이 필드 정의를 포함하는 메시지 정의를 가져옵니다. Field가 포함된 Message 객체의 정의를 반환합니다. Field가 메시지 클래스 외부에 정의된 경우 None을 반환합니다.
값이 예상 유형이 아닌 경우 ValidationError가 발생합니다.