Classes de champs

La classe Field est une classe de base abstraite représentant un champ dans un document. Cette classe ne doit pas être directement instanciée. Utilisez plutôt l’une des sous-classes représentant des types de données spécifiques.

La classe Field est définie dans le module google.appengine.api.search.

Propriétés

Une instance de la classe Field possède les propriétés suivantes :

name

Nom du champ. Doit commencer par une lettre, ne contenir que des lettres, des chiffres et des traits de soulignement (_), et ne pas dépasser 500 caractères.

language

Code de langue ISO 693-1 à deux lettres applicable au contenu du champ, destiné à faciliter la création de jetons. Par exemple, en signifie que le champ est anglais. Si None, le code de langue appliqué sera celui du document.

value

Valeur du champ. Le type de données varie en fonction de la sous-classe spécifique.

Sous-classes

La classe Field comprend les sous-classes suivantes :

Classe TextField

Champ contenant du texte.

La valeur du champ doit être une chaîne ou une chaîne Unicode. L'exemple suivant montre un champ de texte nommé signature dont le contenu est en polonais :

TextField(name='signature', value='brzydka pogoda', language='pl')

Exceptions

TypeError

La valeur indiquée n'est pas une chaîne de texte.

ValueError

La valeur dépasse la longueur maximale autorisée.

Classe HtmlField

Champ contenant du contenu HTML.

La valeur du champ doit être une chaîne ou une chaîne Unicode représentant le contenu du champ qui peut faire l'objet d'une recherche. L'exemple suivant montre un champ HTML nommé content :

HtmlField(name='content', value='<html>herbata, kawa</html>', language='pl')

Exceptions

TypeError

La valeur indiquée n'est pas une chaîne de texte.

ValueError

La valeur dépasse la longueur maximale autorisée.

Classe AtomField

Champ contenant du texte à traiter comme un jeton indivisible (atomique) à des fins d'indexation.

La valeur du champ doit être une chaîne ou un objet Unicode devant être traité comme un jeton atomique. L'exemple suivant montre un champ atom nommé contributor :

AtomField(name='contributor', value='foo@bar.com')

Exceptions

TypeError

La valeur indiquée n'est pas une chaîne de texte.

ValueError

La valeur dépasse la longueur maximale autorisée.

Classe NumberField

Champ contenant une valeur numérique.

La valeur du champ doit être numérique. L'exemple suivant montre un champ numérique nommé size contenant la valeur entière 10 :

NumberField(name='size', value=10)

Exception

TypeError

La valeur indiquée n'est pas numérique.

Classe DateField

Champ contenant une valeur de date ou de date/heure.

La valeur du champ doit être de type datetime.date ou datetime.datetime. Seuls les objets de date et heure "naive" (naïfs) de Python peuvent être utilisés. Les objets "aware" (conscients) ne sont pas autorisés. L'exemple suivant montre un champ de date nommé creation_date représentant la date du 21 mars 2011 :

DateField(name='creation_date', value=datetime.date(2011, 03, 21))

Exception

TypeError

La valeur indiquée n'est pas de type datetime.date ou datetime.datetime.

Classe GeoField

Champ contenant une valeur GeoPoint.

L'exemple suivant montre un champ GeoField nommé place représentant un lieu situé à -33,84 degrés de latitude et 151,26 degrés de longitude :

GeoField(name='place', value=GeoPoint(latitude=-33.84, longitude=151.26))

Exception

TypeError

La valeur indiquée n'est pas un GeoPoint.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement standard App Engine pour Python 2