A classe Field

A classe Field é a classe base para todos os campos definidos nas mensagens. Esta classe não pode ser expandida por programadores.

O Field é fornecido pelo módulo protorpc.messages.

Construtor

O construtor da classe Field é definido da seguinte forma:

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

Inicializa uma instância Field. Cada subclasse de Field tem de definir o seguinte:

VARIANTS
Conjunto de tipos de variantes aceites por esse campo.
DEFAULT_VARIANT
Tipo de variante predefinido se não for especificado no construtor.
Argumentos
number
Número do campo. Tem de ser único por classe de mensagem.
required=False
Se este campo é obrigatório ou não. Exclusivo com o argumento repeated; não especifique repeated se usar required.
repeated=Falso
Se este campo é repetido ou não. Exclusivo com o argumento required; não especifique required=True se também usar repeated=True.
variant=None
Fornece informações de codificação adicionais que são usadas principalmente por buffers de protocolo. Estas variantes são mapeadas para os valores de tipo em descriptor.proto. A prática recomendada é usar os valores predefinidos, mas pode especificar valores como 32 bits, 64 bits, não assinados, etc.
default=Nenhum
Valor predefinido para o campo se não for encontrado no pedido subjacente.

Nota: os valores predefinidos não são permitidos para campos repetidos nem campos de mensagens.

Gera as seguintes exceções:

Propriedade da classe

A classe FieldList tem uma propriedade:

default()
O valor predefinido do campo.

Métodos de instância

As instâncias de FieldList têm os seguintes métodos:

validate(value)
Valida um valor atribuído a um campo. Argumentos
valor
O valor a avaliar.

Gera um ValidationError se o valor não for um tipo esperado.

validate_default_element(value)

Valida um valor atribuído a um campo predefinido. Específico de um único elemento.

Alguns campos podem permitir a resolução atrasada de tipos predefinidos necessários no caso de referências de definições circulares. Neste caso, o valor predefinido pode ser um marcador de posição que é resolvido quando necessário depois de todas as classes de mensagens serem definidas.

Argumentos
valor
Valor predefinido a validar.

Gera um ValidationError se o valor não for um tipo esperado.

validate_default(value)

Valida o valor predefinido de um campo.

Argumentos
valor
Valor predefinido a validar.

Gera um ValidationError se o valor não for um tipo esperado.

message_definition()

Obtém uma definição de mensagem que contém esta definição de campo. Devolve uma definição para o objeto Message que contém o campo. Devolve None se Field estiver definido fora de uma classe de mensagem.

Gera um ValidationError se o valor não for um tipo esperado.