Field
클래스는 문서 필드를 나타내는 추상 기본 클래스입니다. 이 클래스는 직접 인스턴스화할 수 없습니다. 대신에 특정 데이터 유형을 나타내는 하위 클래스 중 하나를 사용해야 합니다.
Field
은 모듈 google.appengine.api.search
에 정의됩니다.
속성
Field
클래스의 인스턴스에는 다음 속성이 있습니다.
- name
필드 이름입니다. 문자로 시작해야 하며 문자, 숫자, 밑줄(
_
)로만 구성될 수 있고, 500자 이하(영문 기준)여야 합니다.- 언어
토큰화를 지원하기 위한 2자로 된 필드 콘텐츠의 ISO 693-1 언어 코드입니다. 예를 들어,
en
은 필드가 영어임을 나타냅니다.None
이면 문서의 언어 코드가 사용됩니다.- value
필드 값입니다. 데이터 유형은 특정 하위 클래스에 따라 달라집니다.
서브클래스
Field
클래스에는 다음 서브클래스가 있습니다.
- class TextField
텍스트가 있는 필드입니다.
필드 값은 문자열 또는 유니코드 문자열이어야 합니다. 다음 예시에서는 폴란드어 콘텐츠가 포함된
signature
라는 텍스트 필드를 보여줍니다.TextField(name='signature', value='brzydka pogoda', language='pl')
-
예외
- TypeError
제공된 값이 텍스트 문자열이 아닙니다.
- ValueError
값이 최대 허용 길이를 초과합니다.
- class HtmlField
HTML 콘텐츠가 있는 필드입니다.
필드 값은 필드의 검색 가능한 콘텐츠를 포함하는 문자열 또는 유니코드 문자열이어야 합니다. 다음 예시에서는
content
라는 HTML 필드를 보여줍니다.HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')
-
예외
- TypeError
제공된 값이 텍스트 문자열이 아닙니다.
- ValueError
값이 최대 허용 길이를 초과합니다.
- class AtomField
색인 생성을 위해 분할할 수 없는(Atom) 토큰으로 취급되는 텍스트가 있는 필드입니다.
필드 값은 Atom 토큰으로 처리되는 문자열 또는 유니코드 객체여야 합니다. 다음 예시에서는
contributor
라는 Atom 필드를 보여 줍니다.AtomField(name='contributor', value='foo@bar.com')
-
예외
- TypeError
제공된 값이 텍스트 문자열이 아닙니다.
- ValueError
값이 최대 허용 길이를 초과합니다.
- class NumberField
숫자 값이 있는 필드입니다.
필드 값은 숫자여야 합니다. 다음 예시에서는 정수 값이 10인
size
라는 숫자 필드를 보여 줍니다.NumberField(name='size', value=10)
예외
- TypeError
제공된 값이 숫자가 아닙니다.
- class DateField
날짜 또는 날짜/시간 값이 있는 필드입니다.
필드의 값은
datetime.date
또는datetime.datetime
유형이어야 합니다. Python의 '기본' 날짜 및 시간 객체만 사용할 수 있습니다. 'Aware' 객체는 허용되지 않습니다. 다음 예시에서는 2011년 3월 21일을 나타내는creation_date
라는 날짜 필드를 보여줍니다.DateField(name='creation_date', value=datetime.date(2011, 03, 21))
예외
- TypeError
제공된 값이
datetime.date
또는datetime.datetime
이 아닙니다.
- class GeoField
GeoPoint 값이 있는 필드입니다.
다음 예시에서는 위도 -33.84도 및 경도 151.26도의 위치를 나타내는
place
라는 GeoField를 보여줍니다.GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))
예외
- TypeError
제공된 값이
GeoPoint
가 아닙니다.