diff --git a/common/djangoapps/student/models.py b/common/djangoapps/student/models.py
index 58279203ce829665ee8e47964bcc1369c50cb3d3..76cdbbba5294e07dea0bd96c7aeec41e1270d74a 100644
--- a/common/djangoapps/student/models.py
+++ b/common/djangoapps/student/models.py
@@ -671,7 +671,7 @@ class Registration(models.Model):
             analytics.identify(*identity_args)
 
 
-class PendingNameChange(models.Model):
+class PendingNameChange(DeletableByUserValue, models.Model):
     user = models.OneToOneField(User, unique=True, db_index=True)
     new_name = models.CharField(blank=True, max_length=255)
     rationale = models.CharField(blank=True, max_length=1024)
diff --git a/common/djangoapps/student/tests/test_models.py b/common/djangoapps/student/tests/test_models.py
index 93f1d4bb3e009ffb034e4d57dc202fe9e8ae64cc..4dd0804a7f2c8e07a3024c55fd8c478df6e1337b 100644
--- a/common/djangoapps/student/tests/test_models.py
+++ b/common/djangoapps/student/tests/test_models.py
@@ -20,7 +20,12 @@ from openedx.core.djangoapps.content.course_overviews.models import CourseOvervi
 from openedx.core.djangoapps.schedules.models import Schedule
 from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import CourseEnrollment, CourseEnrollmentAllowed, PendingEmailChange
+from student.models import (
+    CourseEnrollment,
+    CourseEnrollmentAllowed,
+    PendingEmailChange,
+    PendingNameChange
+)
 from student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
@@ -201,6 +206,35 @@ class CourseEnrollmentTests(SharedModuleStoreTestCase):
         self.assertIsNone(enrollment.upgrade_deadline)
 
 
+class PendingNameChangeTests(SharedModuleStoreTestCase):
+    """
+    Tests the deletion of PendingNameChange records
+    """
+    @classmethod
+    def setUpClass(cls):
+        super(PendingNameChangeTests, cls).setUpClass()
+        cls.user = UserFactory()
+        cls.user2 = UserFactory()
+
+    def setUp(self):
+        self.name_change, _ = PendingNameChange.objects.get_or_create(
+            user=self.user,
+            new_name='New Name PII',
+            rationale='for testing!'
+        )
+        self.assertEqual(1, len(PendingNameChange.objects.all()))
+
+    def test_delete_by_user_removes_pending_name_change(self):
+        record_was_deleted = PendingNameChange.delete_by_user_value(self.user, field='user')
+        self.assertTrue(record_was_deleted)
+        self.assertEqual(0, len(PendingNameChange.objects.all()))
+
+    def test_delete_by_user_no_effect_for_user_with_no_name_change(self):
+        record_was_deleted = PendingNameChange.delete_by_user_value(self.user2, field='user')
+        self.assertFalse(record_was_deleted)
+        self.assertEqual(1, len(PendingNameChange.objects.all()))
+
+
 class PendingEmailChangeTests(SharedModuleStoreTestCase):
     """
     Tests the deletion of PendingEmailChange records.
@@ -208,7 +242,6 @@ class PendingEmailChangeTests(SharedModuleStoreTestCase):
     @classmethod
     def setUpClass(cls):
         super(PendingEmailChangeTests, cls).setUpClass()
-        cls.course = CourseFactory()
         cls.user = UserFactory()
         cls.user2 = UserFactory()