Kha*_*tor 10 django graphql graphene-python react-apollo
假设我有这样的模型
class Order(models.Model):
STATES = [
(1, 'Initiate'),
(2, "Brief"),
(3, "Planning"),
(4, "Price Negotiate"),
(5, "Executing"),
(6, "Pending"),
(7, "Completed"),
(8, "Canceled"),
(9, "Failed"),
(10, "Paid"),
]
state = models.PositiveSmallIntegerField(
choices=STATES,
default=1
)
Run Code Online (Sandbox Code Playgroud)
当我将这个模型与其Graphene对象类型的伴侣配对时
class OrderNode(graphene_django.DjangoObjectType):
class Meta:
model = Order
interfaces = (relay.Node,)
Run Code Online (Sandbox Code Playgroud)
OrderState!
创建具有名称的枚举类型.
我很关心
对于第一个问题,我有这个问题
{
customer(id: "Q3VzdG9tZXJOb2RlOjE=") {
name
orders {
edges {
node {
state
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
它给了我一个像A_1
和的奇怪的状态值A_2
.我期待它给我一些有意义的价值,比如"Initiate".如何获得kv对enum的值?
对于第二个问题,如果我想向用户提供此枚举的可能值列表,我该怎么办?
我找到了解决方案,但我不知道它是否是最好的解决方案.除了具有枚举值的查询之外,我还包含了此查询
query {
# previous queries
__type(name: "OrderState") {
states: enumValues {
name
description
}
}
}
Run Code Online (Sandbox Code Playgroud)
它为OrderState
枚举提取所有可能的键值对.然后我可以使用它作为字典来查找枚举值.
我觉得这种方法仍然过于手动,但没有例子可以查询枚举值.他们只是停止描述一个枚举是什么,以及如何声明一个.
归档时间: |
|
查看次数: |
2500 次 |
最近记录: |