diff --git a/docs/relay/mutations.rst b/docs/relay/mutations.rst index c10b2e29..48185e3f 100644 --- a/docs/relay/mutations.rst +++ b/docs/relay/mutations.rst @@ -27,3 +27,29 @@ subclass of ``relay.ClientIDMutation``. ship = create_ship(ship_name, faction_id) faction = get_faction(faction_id) return IntroduceShip(ship=ship, faction=faction) + + + +Accepting Files +------------- + +Mutations can also accept files, they will be in the context variable. + +.. code:: python + + class UploadFile(graphene.ClientIDMutation): + class Input: + pass + # nothing needed for uploading file + + # your return fields + success = graphene.String() + + @classmethod + def mutate_and_get_payload(cls, input, context, info): + files = context.FILES + print(files) + + # do something with files + + return UploadFile(success=True) diff --git a/docs/types/mutations.rst b/docs/types/mutations.rst index 9095ab58..1155f1e8 100644 --- a/docs/types/mutations.rst +++ b/docs/types/mutations.rst @@ -78,7 +78,7 @@ We should receive: } InputFields and InputObjectTypes ----------------------- +---------------------------------- InputFields are used in mutations to allow nested input data for mutations To use an InputField you define an InputObjectType that specifies the structure of your input data @@ -114,7 +114,7 @@ Note that **name** and **age** are part of **person_data** now Using the above mutation your new query would look like this: -.. code:: graphql +.. code:: json mutation myFirstMutation { createPerson(personData: {name:"Peter", age: 24}) {