graphene-python学习笔记(2)Enum
Types:
一、Enums
定义Enum的两种方式
import graphene
class Episode(graphene.Enum):
NEWHOPE = 4
EMPIRE = 5
JEDI = 6
或者
Episode = graphene.Enum('Episode', [('NEWHOPE', 4), ('EMPIRE', 5), ('JEDI', 6)])
可以为每个枚举类型添加说明,使用description属性
class Episode(graphene.Enum):
NEWHOPE = 4
EMPIRE = 5
JEDI = 6
@property
def description(self):
if self == Episode.NEWHOPE:
return 'New Hope Episode'
return 'Other episode'
重用已经定义的Enum
graphene.Enum.from_enum(AlreadyExistingPyEnum)
注意:graphene.Enum使用了python 的enum.Enum内核,有点不同的是,python中不需要使用get,而grphene.Enum需要使用
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
assert Color(1) == Color.RED
在graphene中
from graphene import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
assert Color.get(1) == Color.RED
浙公网安备 33010602011771号