我正在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_...”。
我怎样才能覆盖这个输出?