Я работаю с graphene
и graphene-django
, и у меня есть проблема с выбором IntegerField
. graphene
создать Enum
, а выход - «A_1», если значение равно 1; «A_2», если значение равно 2 и так далее. Пример:Перезаписать вывод django в графене
# 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]*$'
Таким образом, все, что начинается с числа, он преобразует его в "А _...".
Как я могу перезаписать этот выход?