from django.views.generic.edit import FormMixin
from django.contrib import messages


class SuccessMessageMixin(FormMixin):
    """
    Adds a success message on successful form submission.
    """
    success_message = ''

    def form_valid(self, form):
        response = super(SuccessMessageMixin, self).form_valid(form)
        success_message = self.get_success_message(form.cleaned_data)
        if success_message:
            messages.success(self.request, success_message)
        return response

    def get_success_message(self, cleaned_data):
        return self.success_message % cleaned_data

from django.contrib import messages


class SuccessMessageMixin(object):
    """
    Adds a success message on successful form submission.
    """
    success_message = ''

    def form_valid(self, form):
        response = super(SuccessMessageMixin, self).form_valid(form)
        success_message = self.get_success_message(form.cleaned_data)
        if success_message:
            messages.success(self.request, success_message)
        return response

    def get_success_message(self, cleaned_data):
        return self.success_message % cleaned_data

Remove unnecessary and problematic parent class from SuccessMessageMixin
Remove unnecessary and problematic parent class from SuccessMessageMixin

refs #16319, thanks to bmispelon for the catch
- from django.views.generic.edit import FormMixin
  from django.contrib import messages
  
  
- class SuccessMessageMixin(FormMixin):
+ class SuccessMessageMixin(object):
      """
      Adds a success message on successful form submission.
      """
      success_message = ''
  
      def form_valid(self, form):
          response = super(SuccessMessageMixin, self).form_valid(form)
          success_message = self.get_success_message(form.cleaned_data)
          if success_message:
              messages.success(self.request, success_message)
          return response
  
      def get_success_message(self, cleaned_data):
          return self.success_message % cleaned_data
  
Remove unnecessary and problematic parent class from SuccessMessageMixin
## Code Before:
from django.views.generic.edit import FormMixin
from django.contrib import messages


class SuccessMessageMixin(FormMixin):
    """
    Adds a success message on successful form submission.
    """
    success_message = ''

    def form_valid(self, form):
        response = super(SuccessMessageMixin, self).form_valid(form)
        success_message = self.get_success_message(form.cleaned_data)
        if success_message:
            messages.success(self.request, success_message)
        return response

    def get_success_message(self, cleaned_data):
        return self.success_message % cleaned_data

## Instruction:
Remove unnecessary and problematic parent class from SuccessMessageMixin
## Code After:
from django.contrib import messages


class SuccessMessageMixin(object):
    """
    Adds a success message on successful form submission.
    """
    success_message = ''

    def form_valid(self, form):
        response = super(SuccessMessageMixin, self).form_valid(form)
        success_message = self.get_success_message(form.cleaned_data)
        if success_message:
            messages.success(self.request, success_message)
        return response

    def get_success_message(self, cleaned_data):
        return self.success_message % cleaned_data
