Introspection Schema¶
Relay uses Babel Relay Plugin that requires you to provide your GraphQL schema data.
Graphene comes with a management command for Django to dump your schema
data to schema.json
that is compatible with babel-relay-plugin.
Usage¶
Include graphene_django
to INSTALLED_APPS
in you project
settings:
INSTALLED_APPS += ('graphene_django')
Assuming your Graphene schema is at tutorial.quickstart.schema
, run
the command:
./manage.py graphql_schema --schema tutorial.quickstart.schema --out schema.json
It dumps your full introspection schema to schema.json
inside your
project root directory. Point babel-relay-plugin
to this file and
you’re ready to use Relay with Graphene GraphQL implementation.
Advanced Usage¶
The --indent
option can be used to specify the number of indentation spaces to
be used in the output. Defaults to None which displays all data on a single line.
To simplify the command to ./manage.py graphql_schema
, you can
specify the parameters in your settings.py:
GRAPHENE = {
'SCHEMA': 'tutorial.quickstart.schema',
'SCHEMA_OUTPUT': 'data/schema.json' # defaults to schema.json
}
Running ./manage.py graphql_schema
dumps your schema to
<project root>/data/schema.json
.
Help¶
Run ./manage.py graphql_schema -h
for command usage.