* Allows field's choices to be a callable
Starting in Django 5 field's choices can also be a callable
* test if field with callable choices converts into enum
---------
Co-authored-by: Kien Dang <mail@kien.ai>
* Use ruff in pre-commit
* Add pyupgrade
* Add isort
* Add bugbear
* Fix B015 Pointless comparison
* Fix B026
* B018 false positive
* Remove flake8 and isort config from setup.cfg
* Remove black and flake8 from dev dependencies
* Update black
* Show list of fixes applied with autofix on
* Fix typo
* Add C4 flake8-comprehensions
* Add ruff to dev dependencies
* Fix up
* 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
* Reset the global registry after each test (teardown)
* Create a settings fixtures that returns graphene_settings and resets
the graphene_settings after use (teardown)
* Convert test_mutation tests from unittests.TestCase to pytest
* Convert test_mutation PetType to a pet_type fixtures that reregisters
the type
* 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.
* 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>
* 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