EnumField クラス

EnumField クラスは、列挙値の定義を提供します。Enum フィールドは、関連付けられた列挙型が解決されるまで遅延されるデフォルト値を持つことができます。これは特定の循環参照をサポートするために必要です。次に例を示します:

from protorpc import messages

class Message1(messages.Message):

    class Color(messages.Enum):
        RED = 1
        GREEN = 2
        BLUE = 3

    # Validate this field's default value when default is accessed.
    animal = messages.EnumField('Message2.Animal', 1, default='HORSE')

class Message2(messages.Message):

    class Animal(messages.Enum):
        DOG = 1
        CAT = 2
        HORSE = 3

    # This fields default value will be validated right away since Color is
    # already fully resolved.
    color = messages.EnumField(Message1.Color, 1, default='RED')

EnumField は、protorpc.messages モジュールで提供されます。

コンストラクタ

EnumField クラスのコンストラクタは次のように定義されます:

class EnumField(enum_type, number, required, repeated, variant, default)

Enum 値のフィールド定義を提供します。

引数
enum_type
フィールドの Enum 型です。Enum のサブクラスでなければなりません。
number
フィールドの番号です。メッセージ クラスごとに一意でなければなりません。
required
このフィールドが必須かどうかを指定します。repeated 引数と同時に指定することはできません。required を使用する場合は repeated を指定しないでください。
repeated
このフィールドが反復フィールドかどうかを指定します。required 引数と同時に指定することはできません。repeated を使用する場合は required を指定しないでください。
variant
フィールドの型を詳細に指定します。一部のフィールド型は、基になる送信形式に基づいてさらに制約できます。デフォルト値を使用することをおすすめしますが、このフィールドを使用してデフォルトの 64 ビットではなく 32 ビットの整数として整数フィールドを宣言することもできます。
デフォルト
ストリーム内にフィールドの値が見つからない場合に使用するデフォルト値です。

enum_type が無効な場合は FieldDefinitionError を送出します。

クラスのプロパティ

EnumField クラスには次のクラス プロパティがあります:

type()
フィールドに使用する列挙型です。
default()
列挙フィールドのデフォルト値です。デフォルト値が解決されない場合は、Enum をデフォルトとして使用します。

インスタンス メソッド

EnumField のインスタンスには次のメソッドがあります。

validate_default_element(value)
Enum フィールドのデフォルト要素を検証します。Enum フィールドでは、フィールドの型が解決されていない場合にデフォルト値の遅延解決が可能です。フィールドのデフォルト値は文字列または整数になります。フィールドの Enum 型が解決されている場合、デフォルト値はその型に照らして検証されます。
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Python 2 の App Engine スタンダード環境