* merge master into v3
* fix order_by snake casing by checking if value is None, switch executor to execution_context_class since schema.execute no longer supports executor
* fix linting by removing duplicate defintion and test of convert_form_field_to_string_list
* Handle Django database atomic requests
* Create and handle database atomic mutations
* Make code compatible with Python 2.7
* Code style
* Define set_rollback instead of using the one in rest_framework.views because of backward compatibility
* Implement mock.patch.dict
* Fix issue #1055
* Fix if to elif
* Use self.stdout.write instead of print when printing graphql schema
Co-authored-by: leonardo arroyo <[contato@leonardoarroyo.com](mailto:contato@leonardoarroyo.com)>
* fix( DjangoListField ): test that default functionality should resolve/call queryset at view time, first attempt at solution
* fix( DjangoListField ): DjangoListField defines get_manager just like DjangoConnectionField for a better variable name default_manager instead of default_queryset
* fix: apply specific black formatting
In general I welcome reviews even from non-maintainers to build confidence. I haven't seen any objections and this has sat with approval for a week so I am going to go ahead and merge.
* Add a default msg to show the response content.
This seems like an issue with using assertResponseNoErrors and assertResponseHasErrors
Which doesn't include any errors specific to the response and currently just shows.
```python
self.assertNotIn("errors", list(content.keys()))
AssertionError: 'errors' unexpectedly found in ['errors', 'data']
```
* Update testing.py
* Add integrity checks for GraphiQL CDN resources
Also fixes an erroneous assignment preventing a setting from getting to
the UI.
* Pass SRIs and new versions to the template
* Update hashes
* Use SRI-stable artifacts for GraphiQL resources