- Add support for field name mappings.
- Add
use_id_suffixes_for_fk
anduse_id_suffixes_for_m2m
settings for quick addition of_id
suffixes to foreign keys and_ids
for many to many fields. - Added the options
GRAPHENE_DJANGO_CUD_USE_ID_SUFFIXES_FOR_FK
andGRAPHENE_DJANGO_CUD_USE_ID_SUFFIXES_FOR_M2M
to enable these settings globally.
- More documentation improvements (@Plebbimon).
- Add "before_create_obj" hook, that allows to hook into the creation of an object before it is saved to the database ( @hansegucker).
- Update
dismabiguate_id
to handle UUIDs (@M69k65y).
- Make required_fields and optional_fields handle None values more gracefully.
- Remove mutable default arguments for auto_context_fields
- Fix graphene-django 3.x compatibility issues (thanks @sjdemartini, @wito-alex).
- Improve documentation (thanks @sjdemartini, @Plebbimon).
- Add
perform_delete
override toDjangoDeleteMutation
(thanks @calummackervoy). This allows for better soft deletes. - Add
get_return_id
override toDjangoBatchDeleteMutation
, enabling ID overwrites (thanks @rymanso). - Fix compatability issues with custom pks (thanks @NwawelAIroume).
- Bump some package versions.
- Some general project and file clean up.
- Remove debug prints. Pardon all the mlogs.
- Put
select_for_update
behind a new optionuse_select_for_update
, which is enabled by default. - Rename
only_fields
->fields
andexclude_fields
->exclude
. Alias the old names but add deprecation warnings. - Make the library graphene(-django) 3.x compatible.
- Respect required_fields in Patch and BatchPatch mutations (thanks @mbuvarp).
- Improve atomicity of patch/update-calls (thanks @keithhackbarth)
- Improve documentation
- Security-critical package updates
- (BREAKING) Ensure inputs are sent to all after_mutate hooks.
- (BREAKING) DjangoDeleteMutation now returns three id fields: deletedId, deletedRawId and deletedInputId. The default behaviour of deletedId is now to return a global id if the associated model type has a GlobalIDField for the "id" field.
- Add customisation of resolving IDs via the resolve_id(s) methods (@bjmc)
- Django model DecimalFields are now properly resolved to graphene.Decimal (@sjdemartini)
- (BREAKING) Django fields with choices are now reused from the associated DjangoObjectType. This implies that the created GraphQL field no longer has an extra "Input" at the end of the name. (@keithhackbarth)
- (BREAKING) Update DjangoBatch-mutations. All hooks now take an "input" parameter.
- Added after_update_obj hook for DjangoBatchPatchMutation and DjangoBatchUpdateMutation. This will be called after each object is updated.
- Added after_create_obj hook for DjangoBatchCreateMutation. This will be called after each object is created.
- Ensure DeleteMutation calls "validate"
- Add missing exports
- Allow nested overrides in extras (@janosroden)
- Allow UUID primary keys (@janosroden)
- Make DjangoPatchMutation a subclass of DjangoUpdateMutation
- Improve documentation (@bigtimecriminal)
- Add auto-type handling to many to many extras
- Add auto-type handling to foreign keys
- Add DjangoBatchPatchMutation
- Add DjangoBatchUpdateMutation
- Add DjangoFilterUpdateMutation
- Add custom fields for input types
- Restructure some test files
- Fix some bad plain m2m and m2o field handling.
- login_required now works as intended. Thanks to @janosroden.
- Add a
ignore_primary_key
option to DjangoCreateMutation. Thanks to @e3oroush.
- Update DjangoBatchCreateMutation. Fix bad number of arguments on check_permissions.
- Update DjangoDeleteMutation, change a number of method signatures:
- get_permission and check_permissions now takes the obj to be deleted as a parameter.
- Renamed all
input
arguments toid
. - after_mutate now takes a final
found
argument.
- Update patch and update mutations: Added the resolved object to check_permisions as a final argument.
- Updated all mutations: Only create new meta options when one does not already exist.
- Renamed DjangoBatchDeleteMutation to DjangoFilterDeleteMutation.
- Added a new DjangoBatchDeleteMutation which takes an array of IDs to delete.
- Added local versions of all overrideable methods. This makes type hinting more accurate.
- Changed the argument order of some of the overrideable methods.
- In particular: Changed the method signature of "get_queryset".
- Change some potential issue with OneToOne persistence
- Remove unnecessary debug print.
- Improve many to many and one to one detection.
- Add one to one extras handling, allowing for nested functionality for one to one fields.
- Restructure project slightly, by moving mutations to separate files.
- Remove some unnecessary utility functions.
- Fix bug where default field handling for many-to-many and many-to-one fields failed.
- Add missing files
- Update bad handling of AutoFields
- Ensure AutoFields are disambiguated.
- Add proper handling of update nested many-to-on extras for update mutations.
- Fix a deprecation warning. See #12. Thanks to @fkromer.
- Fix bug when converting OneToOneRels.
- Fix bug in
TimeDelta
get_queryset
now takes aninfo
argument and other kwargs.
- Fix a bug related to setting of many-to-one extras on create operations.
- Add better handling of choices fields. Fixes #5.
- Fix handling of "exact" m2m and m2o extras.
- Improve m2o handling of exact and remove extras.
- Add the
field_types
meta-field, which allows users to override converted field types.
- Improve test environment
- Add
check_permissions
andget_permissions
methods. The methods can be overridden to provide custom permissions handling. - Fix issue with
required
-handling for fields with choices. - Add queryset handling to delete mutations.
- Add field validation.
- Add
before_mutate
,before_save
andafter_mutate
hooks.
- Fix bug related to conversion of filter fields.
- Fix bug with many to many extras type extraction
- Loosen graphene-django required version
- Change package mangement to poetry
- Add missing install dependencies in setup.py
- Move repo to github
- Fix issue with fields havng name "input": Change items call to use super.
- Make sure enum fields are fetched from registry
- Add better handling of filter fields in DjangoBatchDeleteMutation
- Add DjangoBatchCreateMutation
- Fix bug with bad auto context field
- Improve conversion of Boolean field
- Add customizible names for many to many and many to one rels.
- Fix some issues with adding/removing many to one rels
- Fix bug where argument was not sent into update_obj
- Improve nested auto field name generation
- Add foreign key, many to many and many to one extras generation.
Initial release, add core and classes:
- DjangoCreateMutation
- DjangoPatchMutation
- DjangoUpdateMutation
- DjangoDeleteMutation
- DjangoBatchDeleteMutation