Classes de campo
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
A classe Field
é uma classe de base abstrata que representa um campo de um documento. Essa classe não precisa ser instanciada diretamente. Em vez disso, use uma das subclasses que representam tipos de dados específicos.
Field
é definido no módulo google.appengine.api.search
.
Propriedades
Uma instância da classe Field
tem as seguintes propriedades:
- name
Nome do campo. Ele precisa começar com uma letra, conter apenas letras, dígitos e sublinhados (_
) e não ter mais que 500 caracteres.
- idioma:
Código de idioma ISO 693-1 de duas letras do conteúdo do campo para auxiliar na tokenização. Por exemplo, en
significa que o campo está em inglês. Se for None
, o código de idioma do documento será usado.
- value
Valor do campo. O tipo de dados varia de acordo com a subclasse específica.
Subclasses
A classe Field
tem as seguintes subclasses:
-
classe TextField
Um campo que contém texto.
O valor do campo precisa ser uma string ou uma string Unicode. O exemplo a seguir mostra um campo de texto chamado signature
com conteúdo em polonês:
TextField(name='signature', value='brzydka pogoda', language='pl')
-
Exceções
- TypeError
O valor fornecido não é uma string de texto.
- ValueError
O valor excede o tamanho máximo permitido.
-
classe HtmlField
Um campo que contém conteúdo HTML.
O valor do campo precisa ser uma string ou uma string Unicode que apresenta o conteúdo pesquisável do campo. O exemplo a seguir mostra um campo HTML chamado content
:
HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')
-
Exceções
- TypeError
O valor fornecido não é uma string de texto.
- ValueError
O valor excede o tamanho máximo permitido.
-
classe AtomField
Um campo que contém texto a ser tratado como um token indivisível (atômico) para fins de indexação.
O valor do campo precisa ser uma string ou um objeto Unicode a ser tratado como um token atômico. O exemplo a seguir mostra um campo atômico chamado contributor
:
AtomField(name='contributor', value='foo@bar.com')
-
Exceções
- TypeError
O valor fornecido não é uma string de texto.
- ValueError
O valor excede o tamanho máximo permitido.
-
classe NumberField
Um campo que contém um valor numérico.
O valor do campo precisa ser numérico. O exemplo a seguir mostra um campo numérico chamado size
com valor inteiro 10:
NumberField(name='size', value=10)
Exceção
- TypeError
O valor fornecido não é numérico.
-
classe DateField
Um campo contendo um valor de data ou data e hora.
O valor do campo precisa ser do tipo datetime.date
ou datetime.datetime
.
Somente objetos de data e hora "simples" do Python podem ser usados. Os objetos "conscientes" não são permitidos.
O exemplo a seguir mostra um campo de data chamado creation_date
que representa a data de 21 de março de 2011:
DateField(name='creation_date', value=datetime.date(2011, 03, 21))
Exceção
- TypeError
O valor fornecido não é um datetime.date
ou um datetime.datetime
.
-
classe GeoField
Um campo que contém um valor GeoPoint.
O exemplo a seguir mostra um GeoField chamado place
que representa um local a -33,84 graus de latitude e 151,26 de longitude:
GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))
Exceção
- TypeError
O valor fornecido não é um GeoPoint
.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-08-30 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-30 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eField\u003c/code\u003e class is an abstract base class for document fields and should not be directly instantiated; subclasses should be used instead.\u003c/p\u003e\n"],["\u003cp\u003eEach \u003ccode\u003eField\u003c/code\u003e instance has properties for \u003ccode\u003ename\u003c/code\u003e, \u003ccode\u003elanguage\u003c/code\u003e, and \u003ccode\u003evalue\u003c/code\u003e, with specific constraints on the \u003ccode\u003ename\u003c/code\u003e format and the \u003ccode\u003evalue\u003c/code\u003e data type.\u003c/p\u003e\n"],["\u003cp\u003eThere are six subclasses of \u003ccode\u003eField\u003c/code\u003e: \u003ccode\u003eTextField\u003c/code\u003e, \u003ccode\u003eHtmlField\u003c/code\u003e, \u003ccode\u003eAtomField\u003c/code\u003e, \u003ccode\u003eNumberField\u003c/code\u003e, \u003ccode\u003eDateField\u003c/code\u003e, and \u003ccode\u003eGeoField\u003c/code\u003e, each designed for different data types like text, HTML, atomic tokens, numbers, dates, and geographic locations, respectively.\u003c/p\u003e\n"],["\u003cp\u003eEach subclass of \u003ccode\u003eField\u003c/code\u003e has specific data type requirements for the \u003ccode\u003evalue\u003c/code\u003e property and will raise a \u003ccode\u003eTypeError\u003c/code\u003e if an incorrect type is provided.\u003c/p\u003e\n"],["\u003cp\u003eThe different subclasses will raise \u003ccode\u003eValueError\u003c/code\u003e exceptions if the \u003ccode\u003evalue\u003c/code\u003e exceeds the maximum allowable length.\u003c/p\u003e\n"]]],[],null,["# Field Classes\n\nClass `Field` is an abstract base class representing a field of a document. This class should not be directly instantiated; instead, use one of the subclasses representing specific data types.\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| python3\n|\n| /services/access). If you are updating to the App Engine Python 3 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/python-differences) to learn about your migration options for legacy bundled services.\n\n`Field` is defined in the module `google.appengine.api.search`.\n\nProperties\n----------\n\nAn instance of class `Field` has the following properties:\n\nname\n\n: Name of the field. Must begin with a letter, contain only letters, digits, and underscores (`_`), and be no longer than 500 characters.\n\nlanguage\n\n: Two-letter [ISO 693-1](http://www.sil.org/iso639-3/codes.asp?order=639_1&letter=%25) language code for the field's content, to assist in tokenization. For example, `en` signifies that the field is English. If `None`, the language code of the document will be used.\n\nvalue\n\n: Value of the field. Data type varies depending on the specific subclass.\n\nSubclasses\n----------\n\nClass `Field` has the following subclasses:\n\n\nclass TextField\n\n: A field containing text.\n\n The field's value must be a string or Unicode string. The following example shows a text field named `signature` with Polish language content: \n\n ```\n TextField(name='signature', value='brzydka pogoda', language='pl')\n ```\n\n: Exceptions\n\n TypeError\n\n : Value supplied is not a text string.\n\n ValueError\n\n : Value exceeds maximum allowable length.\n\n\nclass HtmlField\n\n: A field containing HTML content.\n\n The field's value must be a string or Unicode string containing the searchable content of the field. The following example shows an HTML field named `content`: \n\n ```\n HtmlField(name='content', value='\u003chtml\u003eherbata, kawa\u003c/html\u003e', language='pl')\n ```\n\n: Exceptions\n\n TypeError\n\n : Value supplied is not a text string.\n\n ValueError\n\n : Value exceeds maximum allowable length.\n\n\nclass AtomField\n\n: A field containing text to be treated as an indivisible (atomic) token for indexing purposes.\n\n The field's value must be a string or Unicode object to be treated as an atomic token. The following example shows an atom field named `contributor`: \n\n ```\n AtomField(name='contributor', value='foo@bar.com')\n ```\n\n: Exceptions\n\n TypeError\n\n : Value supplied is not a text string.\n\n ValueError\n\n : Value exceeds maximum allowable length.\n\n\nclass NumberField\n\n: A field containing a numeric value.\n\n The field's value must be numeric. The following example shows a number field named `size` with integer value 10: \n\n ```\n NumberField(name='size', value=10)\n ```\n\n: **Exception**\n\n TypeError\n\n : Value supplied is not numeric.\n\n\nclass DateField\n\n: A field containing a date or datetime value.\n\n The field's value must be of type `datetime.date`, or `datetime.datetime`.\n Only Python [\"naive\"](https://docs.python.org/2/library/datetime.html) date and time objects can be used. \"Aware\" objects are not allowed.\n The following example shows a date field named `creation_date` representing the date 21 March 2011: \n\n ```\n DateField(name='creation_date', value=datetime.date(2011, 03, 21))\n ```\n\n:\n\n **Exception**\n\n TypeError\n\n : Value supplied is not a `datetime.date` or a `datetime.datetime`.\n\n\nclass GeoField\n\n: A field containing a [GeoPoint](/appengine/docs/legacy/standard/python/search/geopointclass) value.\n\n The following example shows a GeoField named `place` representing a location at -33.84 degrees latitude and 151.26 degrees longitude: \n\n ```\n GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))\n ```\n\n:\n\n **Exception**\n\n TypeError\n\n : Value supplied is not a [GeoPoint](/appengine/docs/legacy/standard/python/search/geopointclass)."]]