La classe Field

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.
Argomenti
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 specificare repeated se utilizzi required.
repeated=False
Indica se questo campo viene ripetuto o meno. Esclusivo con l'argomento required. Non specificare required=True se utilizzi anche repeated=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:

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.