Python 2.7 ha raggiunto la fine del supporto
e verrà
ritirato
il 31 gennaio 2026. Dopo il ritiro, non potrai eseguire il deployment di applicazioni Python 2.7, anche se la tua organizzazione ha utilizzato in precedenza un criterio dell'organizzazione per riattivare i deployment di runtime legacy. Le tue applicazioni Python 2.7 esistenti continueranno a essere eseguite e a ricevere traffico dopo la
data di ritiro. Ti consigliamo di
eseguire la migrazione all'ultima versione supportata di Python.
Classi dei campi
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
La classe Field
è una classe base astratta che rappresenta un campo di un documento. Questa classe non deve essere direttamente istanziata; utilizza invece una delle sottoclassi che rappresentano tipi di dati specifici.
Field
è definito nel modulo google.appengine.api.search
.
Proprietà
Un'istanza della classe Field
ha le seguenti proprietà:
- name
Nome del campo. Deve iniziare con una lettera, contenere solo lettere, cifre e trattini bassi (_
) e non deve superare i 500 caratteri.
- language
Codice lingua ISO 693-1 di due lettere per i contenuti del campo, per facilitare la tokenizzazione. Ad esempio, en
indica che il campo è in inglese. Se None
, verrà utilizzato il codice lingua del documento.
- value
Valore del campo. Il tipo di dati varia a seconda della sottoclasse specifica.
Sottoclassi
La classe Field
ha le seguenti sottoclassi:
-
class TextField
Un campo contenente testo.
Il valore del campo deve essere una stringa o una stringa Unicode. L'esempio seguente mostra un campo di testo denominato signature
con contenuti in polacco:
TextField(name='signature', value='brzydka pogoda', language='pl')
-
Eccezioni
- TypeError
Il valore fornito non è una stringa di testo.
- ValueError
Il valore supera la lunghezza massima consentita.
-
class HtmlField
Un campo contenente contenuti HTML.
Il valore del campo deve essere una stringa o una stringa Unicode contenente i contenuti del campo che possono essere sottoposti a ricerca. Il seguente esempio mostra un campo HTML denominato content
:
HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')
-
Eccezioni
- TypeError
Il valore fornito non è una stringa di testo.
- ValueError
Il valore supera la lunghezza massima consentita.
-
class AtomField
Un campo contenente il testo da trattare come token indivisibile (atomico) ai fini dell'indicizzazione.
Il valore del campo deve essere una stringa o un oggetto Unicode per essere considerato un token atomico. L'esempio seguente mostra un campo atomo denominato contributor
:
AtomField(name='contributor', value='foo@bar.com')
-
Eccezioni
- TypeError
Il valore fornito non è una stringa di testo.
- ValueError
Il valore supera la lunghezza massima consentita.
-
class NumberField
Un campo contenente un valore numerico.
Il valore del campo deve essere numerico. L'esempio seguente mostra un campo numerico denominato size
con valore intero 10:
NumberField(name='size', value=10)
Eccezione
- TypeError
Il valore fornito non è numerico.
-
class DateField
Un campo contenente un valore data o data/ora.
Il valore del campo deve essere di tipo datetime.date
o datetime.datetime
.
È possibile utilizzare solo oggetti data e ora "naive" di Python. Gli oggetti "Aware" non sono consentiti.
L'esempio seguente mostra un campo della data denominato creation_date
che rappresenta la data 21 marzo 2011:
DateField(name='creation_date', value=datetime.date(2011, 03, 21))
Eccezione
- TypeError
Il valore fornito non è datetime.date
o datetime.datetime
.
-
class GeoField
Un campo contenente un valore GeoPoint.
L'esempio seguente mostra un campo geografico denominato place
che rappresenta una località a -33,84 gradi di latitudine e 151,26 gradi di longitudine:
GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))
Eccezione
- TypeError
Il valore fornito non è un GeoPoint
.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-09-04 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 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)."]]