La classe Field è la classe di base per tutti i campi definiti nei messaggi. Questo corso non può essere esteso dagli sviluppatori.
Field
è fornito dal modulo protorpc.messages
.
Costruttore
Il costruttore della classe Field è definito come segue:
- class Field (message_type, number, [required=False | repeated=False], variant=None, default=None)
-
Inizializza un'istanza di Field. Ogni sottoclasse di Field deve definire quanto segue:
VARIANTS
- Insieme di tipi di varianti accettati dal campo.
DEFAULT_VARIANT
- Tipo di variante predefinito se non specificato nel costruttore.
- number
- Numero del campo. Deve essere univoco per ogni classe di messaggio.
- required=False
- Se questo campo è obbligatorio o meno. Si escludono a vicenda con l'argomento
repeated
. Non specificarerepeated
se utilizzirequired
. - repeated=False
- Indica se questo campo viene ripetuto o meno. Esclusivo con l'argomento
required
. Non specificarerequired=True
se utilizzi ancherepeated=True
. - variant=None
- Fornisce informazioni aggiuntive sulla codifica utilizzate principalmente dai protocol buffer. Queste varianti corrispondono ai valori di tipo in
descriptor.proto
. La best practice è utilizzare i valori predefiniti, ma puoi specificare valori come 32 bit, 64 bit, non firmato e così via. - default=None
- Valore predefinito per il campo se non trovato nella richiesta sottostante.
Nota:i valori predefiniti non sono consentiti per i campi ripetuti o per i campi dei messaggi.
Genera le seguenti eccezioni:
- InvalidVariantError quando viene fornita una variante non valida per il campo.
- InvalidDefaultError quando viene fornito un valore predefinito non valido per il campo.
- FieldDefinitionError quando viene fornito un numero non valido o vengono utilizzati campi mutuamente esclusivi.
- InvalidNumberError quando il numero di campo non rientra nell'intervallo o è riservato.
Proprietà del corso
La classe FieldList ha una proprietà:
- default()
- Il valore predefinito per il campo.
Metodi istanza
Le istanze di FieldList hanno i seguenti metodi:
- validate(value)
- Convalida un valore assegnato a un campo.
Argomenti
- value
- Il valore da valutare.
Genera un ValidationError se il valore non è del tipo previsto.
- validate_default_element(value)
-
Convalida un valore assegnato a un campo predefinito. Specifico per un singolo elemento.
Alcuni campi potrebbero consentire la risoluzione ritardata dei tipi predefiniti necessari in caso di riferimenti a definizioni circolari. In questo caso, il valore predefinito potrebbe essere un segnaposto che viene risolto quando necessario dopo aver definito tutte le classi di messaggi.
Argomenti- value
- Valore predefinito da convalidare.
Genera un ValidationError se il valore non è del tipo previsto.
- validate_default(value)
-
Convalida il valore predefinito di un campo.
Argomenti- value
- Valore predefinito da convalidare.
Genera un ValidationError se il valore non è del tipo previsto.
- message_definition()
-
Restituisce una definizione di messaggio che contiene questa definizione di campo. Restituisce una definizione per l'oggetto Message che contiene il campo. Restituisce None se il campo è definito al di fuori di una classe di messaggi.
Genera un ValidationError se il valore non è del tipo previsto.