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.
- nombre
- 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 pasrepeated
si vous utilisezrequired
. - repeated=False
- Indique si le champ est répété ou non. Exclusion mutuelle avec l'argument
required
. N'indiquez pasrequired=True
si vous utilisez égalementrepeated=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 :
- InvalidVariantError lorsqu'une variante non valide pour le champ est fournie.
- InvalidDefaultError lorsqu'un champ par défaut non valide est fourni.
- FieldDefinitionError lorsqu'un numéro non valide est fourni ou des champs mutuellement exclusifs sont utilisés.
- InvalidNumberError lorsque le numéro du champ est en dehors de la plage ou réservé.
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.