* first attempt at adding get_queryset
* add queryset_resolver to DjangoConnectionField and fix test failures
* cleanup get_queryset API to match proposal as close as possible
* pep8 fix: W293
* document get_queryset usage
* add test for when get_queryset is defined on DjangoObjectType
When we use the `graphql_schema` management command, the output can vary from run to run depending on arbitrary factors (because there is no guarantee made about the order used to output JSON dictionary keys). This makes it difficult to compare two schema's at different points in time.
We address this by including a new `canonical` flag to the command, which uses standard `json.dump` funcitonality to sort dictionary keys and force pretty-printed output.
* Allow for use of either filter_fields or filterset_class
* Add tests to check that the behavior is similar to filter_fields
* Add documentation to show how to make use of the parameter
* Always use HTTPS for CDN files
There's no point using insecure, deprecated HTTP even if the current page is on HTTP.
* add integrity and crossorigin attributes
This fixes what appear to be some code errors/typos:
* The `FormMutation` class was renamed to `DjangoFormMutation`, and `ModelFormMutation` to `DjangoModelFormMutation`, in 40610c64a3.
* `form_valid` was renamed to `perform_mutate` in 463ce68b16.
It also clarifies a few things that I found confusing:
* It explicitly mentions that `perform_mutate` is a class method.
* The code samples now import the form classes from their packages, so readers know where to import them from too.
By the end of the Graphene and Django Tutorial using Relay, one might think they have finished everything needed server side for Relay, but six sections later, in a section that doesn't mention Relay in the title, the final required step for Relay is documented.
The only security risk here is persuading a user to execute a mutation,
which is probably not a big risk. To mitigate this risk and still keep
the same UX (that is so valuable), would require more work than is
proportionate for this PR.