Classe Field

La classe Field est la classe de base de tous les champs définis dans les messages. Cette classe ne peut pas être étendue par les développeurs.

La classe Field est fournie par le module protorpc.messages.

Constructeur

Le constructeur de la classe Field est défini comme suit :

class  Field (message_type, number, [required=False | repeated=False], variant=None, default=None)

Initialise une instance Field. Chaque sous-classe de Field doit définir les valeurs suivantes :

VARIANTS
Ensemble de types de variantes acceptés par ce champ.
DEFAULT_VARIANT
Type de variante par défaut si non spécifié dans le constructeur.
Arguments
number
Numéro du champ. Doit être unique par classe de message.
required=False
Indique si le champ est obligatoire ou non. Exclusion mutuelle avec l'argument repeated. N'indiquez pas repeated si vous utilisez required.
repeated=False
Indique si le champ est répété ou non. Exclusion mutuelle avec l'argument required. N'indiquez pas required=True si vous utilisez également repeated=True.
variant=None
Fournit des informations de codage supplémentaires principalement utilisées par les tampons de protocole. Ces variantes correspondent aux valeurs Type dans descriptor.proto. Nous vous recommandons d'utiliser les valeurs par défaut, mais vous pouvez indiquer des valeurs de 32 bits, 64 bits, non signées, etc.
default=None
Valeur par défaut du champ si elle est introuvable dans la requête sous-jacente.

Remarque : Les valeurs par défaut ne sont pas autorisées pour les champs répétés ou les champs du message.

Génère les exceptions suivantes :

Propriété de la classe

La classe FieldList a une propriété :

default()
Valeur par défaut du champ.

Méthodes des instances

Les instances FieldList présentent les méthodes suivantes :

validate(value)
Valide une valeur attribuée à un champ. Arguments
value
Valeur à renvoyer.

Déclenche une erreur ValidationError si la valeur n'est pas un type attendu.

validate_default_element(value)

Valide une valeur attribuée à un champ par défaut. Propre à un seul élément.

Certains champs peuvent autoriser une résolution retardée de types par défaut nécessaire en cas de référence aux définitions circulaires. Dans ce cas, la valeur par défaut peut être un espace réservé qui est résolu, lorsque cela est nécessaire, une fois toutes les classes de messages définies.

Arguments
value
Valeur par défaut à valider.

Déclenche une erreur ValidationError si la valeur n'est pas un type attendu.

validate_default(value)

Valide la valeur par défaut d'un champ.

Arguments
value
Valeur par défaut à valider.

Déclenche une erreur ValidationError si la valeur n'est pas un type attendu.

message_definition()

Récupère la définition d'un message qui contient la définition de Field. Renvoie une définition de l'objet Message contenant le champ. Renvoie "None" si Field est défini en dehors de la classe d'un message.

Déclenche une erreur ValidationError si la valeur n'est pas un type attendu.