* Remove Python 2 support
* Upgrade Python & Django versions
* Remove unsupported Django versions
* Remove unsupported Python versions
* Add Python 3.8
* Drop support for django-filter < 2
* Update LoginRequiredMixin doc link
* Remove redundant import
* Resolve RemovedInDjango40Warning warnings
* gql/graphene-django/graphene_django/tests/test_converter.py:175:
RemovedInDjango40Warning: django.utils.translation.ugettext_lazy() is
deprecated in favor of django.utils.translation.gettext_lazy().
* graphene-django/graphene_django/utils/utils.py:28:
RemovedInDjango40Warning: force_text() is deprecated in favor of
force_str().
* No need to use unicode strings with Python3
* Remove singledispatch dependency
singledispatch is inluded with Python >= 3.4, no need for external
package.
* Documentation missing endpoint explanation
Add some information about GRAPHQL_URL. Otherwise people run into ERROR 400 problems, if they have a different endpoint.
* Update docs/testing.rst
Co-Authored-By: Jonathan Kim <jkimbo@gmail.com>
Co-authored-by: Jonathan Kim <jkimbo@gmail.com>
* Add new setting to create unique enum names
* Add specific tests for name generation
* Add schema test
* Rename settings field
* Rename setting
* Add custom function setting
* Add documentation
* Use format instead of f strings
* Update graphene_django/converter.py
Co-Authored-By: Syrus Akbary <me@syrusakbary.com>
* Fix tests
* Update docs
* Import function through import_string function
Co-authored-by: Syrus Akbary <me@syrusakbary.com>
* replace merge_queryset with resolve_queryset pattern
* skip double limit test
* Update graphene_django/fields.py
Co-Authored-By: Jonathan Kim <jkimbo@gmail.com>
* yank skipped test
* fix bad variable ref
* add test for annotations
* add test for using queryset with django filters
* document ththat one should use defer instead of values with queysets and DjangoObjectTypes
* Create new fields and exclude options that are aliased to exclude_fields and only_fields
* Update docs
* Add some checking around fields and exclude definitions
* Add all fields option
* Update docs to include `__all__` option
* Actual order of fields is not stable
* Update docs/queries.rst
Co-Authored-By: Semyon Pupkov <semen.pupkov@gmail.com>
* Fix example code
* Format code
* Start raising PendingDeprecationWarnings for using only_fields and exclude_fields
* Update tests
* Add convert_choices_to_enum meta option
* Add tests
* Run black
* Update documentation
* Add link to Django choices documentation
* Add test and documentation note
That setting to an empty list is the same as setting the value as False
* Fix Django warning in tests
* rst is not markdown
* Corrected typos in docs/queries.rst.
* Add basic resolvers to Relay Full example in docs/queries.rst.
Added basic resolvers to Full example in Relay section.
* Remove question and question resolver.
* Add query example to queries.rst.
Added query example in Relay section.
Minor clean-up.
* 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
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.