Не удается разрешить имя поля с подчеркиваниями в графене - PullRequest
0 голосов
/ 04 мая 2020

Я прошел документацию Python графена, и это сработало. Вот код -

from graphene import ObjectType, String, Schema


class Query(ObjectType):
    hello = String(name=String(default_value="stranger"))

    def resolve_hello(root, info, name):
        return f'Hello {name}!'


schema = Schema(query=Query)

query = '{ hello(name: "GraphQL") }'

result = schema.execute(query)

print(result.data['hello'])    # "Hello GraphQL!"

Однако, при изменении hello на some_field и resolve_hello на resolve_some_field и создании query = '{ some_field(name: "GraphQL" }', я получил конечный результат как Нет .

Можно ли работать с полями, в которых есть подчеркивания?

1 Ответ

1 голос
/ 04 мая 2020

Я не знал, как графен за кулисами преобразует случай змеи в случай верблюда.

Все было идеально в определении схемы, но то, как я назвал его клиентом, нужно было изменить.

Следовательно, вместо:

query = '{ some_field(name: "GraphQL" }'

... Мне нужно было сделать:

query = '{ someField(name: "GraphQL" }'

... потому что именно так клиентская сторона JavaScript предпочитает называть это.

...