* adding optional_fields to enforce fields to be optional
* adding support for all
* adding unit tests
* Update graphene_django/rest_framework/mutation.py
Co-authored-by: Kien Dang <kiend@pm.me>
* linting
* linting
* add missing import
---------
Co-authored-by: Kien Dang <kiend@pm.me>
* 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
* Fix for issue #1385: Update mutation.py to serialize Enum objects into input values for ChoiceFields
* Update graphene_django/rest_framework/mutation.py
Co-authored-by: Steven DeMartini <1647130+sjdemartini@users.noreply.github.com>
---------
Co-authored-by: Steven DeMartini <1647130+sjdemartini@users.noreply.github.com>
* 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
* use `to_represenation` in favor of `get_attribute`
* fix datetime type does get converted to a string
to_representation will convert the datetime field into a string representation. However the to_representation on the method field will only call its underlying method.
* fix add missing import
* apply black formatter
* add test for serializer method field
* apply black format
* improve backward compatibility
by using date's class contructor instead of fromisostring
* apply black format
* fix black format issue
* convert DRF ChoiceField to Enum, also impacts FilePathField
* Pep8 fixes
* DRF multiple choices field converts to list of enum
* apply black formatting
* 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
* Update travis and tox
* Use xenial distribution
* Don't install coveralls twice
* Add black and flake8 tox commands
* Remove Python 3.5 test for Django master
* Fix indent
* Ignore migrations
* Remove black for now
* Run black formatting (#668)
* Run black format
* Update makefile
* Add black to travis build
Upon success the result was correct but also included:
"errors": [
{
"message": "User Error: expected iterable, but did not find one
for field <SerializerMutation_Subclass>Payload.errors."
}
]
This seemed to be due to Payload.errors defaulting to graphene.List
rather than unset or None. Unsure what exactly changed with 2.x to break
this, so I welcome a better fix, but explicitly setting errors to None
also seems easy enough.