enumは、フィールドの値を特定の値だけ許可し、それ以外の値を禁止したい場合に使用します。
この場合、enumは、サーバーがレスポンスを生成する際のデータの並び順を指定します。
enumを定義したい場合は、Enumクラスのサブクラスを作成します。
それぞれのenumのメンバには、enum型ごとに一意の数値が割り当てられます。
その数値は、enum型のインスタンスになるほか、クラス変数としてクラスからアクセスすることも可能です。
print 'Enum value Order.%s has number %d' % (Order.WHEN.name, Order.WHEN.number)
enum型のインスタンスには特別の性質があり、
上記のように「name」や「number」というメンバを使わなくても、自動的に文字列や数値に変換されます。
print 'Enum value Order.%s has number %d' % (Order.WHEN, Order.WHEN)メッセージにenum型のフィールドを定義する場合、enum型を、最初のパラメータに指定してください。
enum型のフィールドも、デフォルト値を持つことができます。
order = messages.EnumField(Order, 3, default=Order.WHEN)
0 件のコメント:
コメントを投稿