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

  

 

posted @ 2018-08-30 09:59  tutu_python  阅读(567)  评论(0)    收藏  举报