Classe Field
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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
- 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 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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eThe \u003ccode\u003eField\u003c/code\u003e class serves as the foundation for all fields within messages and cannot be extended by developers, and is provided by the \u003ccode\u003eprotorpc.messages\u003c/code\u003e module.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eField\u003c/code\u003e constructor takes parameters like \u003ccode\u003enumber\u003c/code\u003e, \u003ccode\u003erequired\u003c/code\u003e, \u003ccode\u003erepeated\u003c/code\u003e, \u003ccode\u003evariant\u003c/code\u003e, and \u003ccode\u003edefault\u003c/code\u003e to define field properties, and raises exceptions for invalid inputs, such as an invalid default, or mutually exclusive arguments.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eField\u003c/code\u003e class contains \u003ccode\u003eVARIANTS\u003c/code\u003e and \u003ccode\u003eDEFAULT_VARIANT\u003c/code\u003e properties that define the field's acceptable variant types, and its default variant type respectively.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eField\u003c/code\u003e instance methods include \u003ccode\u003evalidate\u003c/code\u003e, \u003ccode\u003evalidate_default_element\u003c/code\u003e, \u003ccode\u003evalidate_default\u003c/code\u003e to check values against expectations, and \u003ccode\u003emessage_definition\u003c/code\u003e to find the \u003ccode\u003eMessage\u003c/code\u003e that contains the Field.\u003c/p\u003e\n"],["\u003cp\u003eDefault values for Fields are not permitted for repeated fields or message fields, as specified by the argument \u003ccode\u003edefault=None\u003c/code\u003e in the constructor.\u003c/p\u003e\n"]]],[],null,["# The Field Class\n\nThe Field class is the base class for all fields defined on messages. This class cannot be extended by developers.\n\n`Field` is provided by the `protorpc.messages` module.\n\nConstructor\n-----------\n\nThe constructor of the Field class is defined as follows:\n\nclass\nField\n(message_type,\nnumber,\n\\[required=False \\| repeated=False\\], variant=None, default=None)\n\n: Initializes an Field instance. Each sub-class of Field must define the following:\n\n `VARIANTS`\n : Set of variant types accepted by that field.\n\n `DEFAULT_VARIANT`\n : Default variant type if not specified in constructor.\n **Arguments**\n\n number\n : Number of the field. Must be unique per message class.\n\n required=False\n : Whether or not this field is required. Mutually exclusive with the `repeated` argument; do not specify `repeated` if you use `required`.\n\n repeated=False\n : Whether or not this field is repeated. Mutually exclusive with the `required` argument; do not specify `required=True` if you also use `repeated=True`.\n\n variant=None\n : Provides additional encoding information that is mainly used by protocol buffers. These variants map to the Type values in `descriptor.proto`. Best practice is to use default values, but you can specify values as 32-bit, 64-bit, unsigned, etc.\n\n default=None\n\n : Default value for the field if not found in the underlying request. **Note:** Default values are not permitted for repeated fields or message fields.\n\n Raises the following exceptions:\n\n - [InvalidVariantError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#InvalidVariantError) when invalid variant for field is provided.\n - [InvalidDefaultError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#InvalidDefaultError) when invalid default for field is provided.\n - [FieldDefinitionError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#FieldDefinitionError) when invalid number provided or mutually exclusive fields are used.\n - [InvalidNumberError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#InvalidNumberError) when the field number is out of range or reserved.\n\nClass Property\n--------------\n\nThe FieldList class has one property:\n\ndefault()\n: The default value for the field.\n\nInstance Methods\n----------------\n\nFieldList instances have the following methods:\n\nvalidate(value)\n: Validates a value assigned to a field.\n **Arguments**\n\n value\n : The value to evaluate.\n\n Raises a [ValidationError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#ValidationError) if the value is not an expected type.\n\nvalidate_default_element(value)\n\n: Validates a value assigned to a default field. Specific to a single element.\n\n Some fields may allow for delayed resolution of default types necessary in the case of circular definition references. In this case, the default value might be a placeholder that is resolved when needed after all the message classes are defined.\n **Arguments**\n\n value\n : Default value to validate.\n\n Raises a [ValidationError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#ValidationError) if the value is not an expected type.\n\nvalidate_default(value)\n\n: Validates that a field's default value.\n\n **Arguments**\n\n value\n : Default value to validate.\n\n Raises a [ValidationError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#ValidationError) if the value is not an expected type.\n\nmessage_definition()\n\n: Gets a message definition that contains this Field definition. Returns a definition for the [Message](/appengine/docs/legacy/standard/python/tools/protorpc/messages/messageclass) object that contains the Field. Returns None if Field is defined outside of a message class.\n\n Raises a [ValidationError](/appengine/docs/legacy/standard/python/tools/protorpc/messages/exceptions#ValidationError) if the value is not an expected type."]]