diff --git a/graphene_django/forms/mutation.py b/graphene_django/forms/mutation.py index cc7d647..6fef25c 100644 --- a/graphene_django/forms/mutation.py +++ b/graphene_django/forms/mutation.py @@ -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