return back instance fields so as not to overwrite not required fields on None

This commit is contained in:
ncrypt4nix 2020-12-29 15:03:11 +03:00
parent 558288afce
commit be9cffab99

View File

@ -186,6 +186,18 @@ class DjangoModelFormMutation(BaseDjangoFormMutation):
kwargs = {cls._meta.return_field_name: obj}
return cls(errors=[], **kwargs)
@classmethod
def get_form_kwargs(cls, root, info, **input):
kwargs = super().get_form_kwargs(root, info, **input)
instance = kwargs.get('instance')
if not instance:
return kwargs
for field in kwargs.get('instance')._meta.fields:
if field.name not in kwargs['data'] and field.name != 'id':
kwargs['data'][field.name] = getattr(instance, field.name)
return kwargs
def _set_errors_flag_to_context(info):
# This is not ideal but necessary to keep the response errors empty