【发布时间】:2017-06-13 17:07:15
【问题描述】:
我正在与graphene 和graphene-django 合作,我对IntegerField 的选择有疑问。 graphene 创建一个Enum,如果值为1,则输出为“A_1”;如果值为 2,则为“A_2”,依此类推。示例:
# model
class Foo(models.Model):
score = models.IntegerField(choices=((1, 1), (2, 2), (3, 3), (4, 4), (5, 5)))
# query
query {
foo {
score
}
}
# response
{
"data": {
"foo": {
"source": "A_1"
}
}
}
我找到了一个转换选项值的函数。
def convert_choice_name(name):
name = to_const(force_text(name))
try:
assert_valid_name(name)
except AssertionError:
name = "A_%s" % name
return name
而assert_valid_name 有这个正则表达式:
r'^[_a-zA-Z][_a-zA-Z0-9]*$'
因此,无论以数字开头,它都会将其转换为“A_...”。
我怎样才能覆盖这个输出?
【问题讨论】:
标签: python django graphene-python