def METHOD_NAME(self):
    """
    Override this method to override the permission_required attribute.
    :return: The permissions that are required for views inheriting from this Mixin
    :rtype: ~collections.abc.Iterable
    """
    # If the form is submitted via POST, require the change permission
    if self.request.method == "POST":
        return (f"cms.change_{self.model._meta.model_name}",)
    # If the form is just retrieved, require the view permission
    return (f"cms.view_{self.model._meta.model_name}",)