code: def patch_clean_fields(model):
      
      old_clean_fields = model.clean_fields
  
      def new_clean_fields(self, exclude=None):
          if hasattr(self, '_mt_form_pending_clear'):
              # Some form translation fields has been marked as clearing value.
              # Check if corresponding translated field was also saved (not excluded):
              # - if yes, it seems like form for MT-unaware app. Ignore clearing (left value from
              #   translated field unchanged), as if field was omitted from form
              # - if no, then proceed as normally: clear the field
              for field_name, value in self._mt_form_pending_clear.items():
                  field = self._meta.get_field(field_name)
                  orig_field_name = field.translated_field.name
                  if orig_field_name in exclude:
                      field.save_form_data(self, value, check=False)
              delattr(self, '_mt_form_pending_clear')
          old_clean_fields(self, exclude)
      model.clean_fields = new_clean_fields
docs: Patch clean_fields method to handle different form types submission.