diff --git a/program/migrations/0138_rename_playlist_media_alter_playlistentry_options_and_more.py b/program/migrations/0138_rename_playlist_media_alter_playlistentry_options_and_more.py
new file mode 100644
index 0000000000000000000000000000000000000000..6fb4195e98d824717acb36c37b0e3c829ead7f0a
--- /dev/null
+++ b/program/migrations/0138_rename_playlist_media_alter_playlistentry_options_and_more.py
@@ -0,0 +1,26 @@
+# Generated by Django 4.2.18 on 2025-01-15 18:16
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ("program", "0137_remove_image_credits_and_more"),
+    ]
+
+    operations = [
+        migrations.RenameModel(
+            old_name="Playlist",
+            new_name="Media",
+        ),
+        migrations.AlterModelOptions(
+            name="playlistentry",
+            options={"ordering": ["media", "order"]},
+        ),
+        migrations.RenameField(
+            model_name="playlistentry",
+            old_name="playlist",
+            new_name="media",
+        ),
+    ]
diff --git a/program/models.py b/program/models.py
index e30f6964c1ae7204b1918a43deac6963e7f35081..9d51d4708380c56d2c65daf4bb5c082e2acc4295 100644
--- a/program/models.py
+++ b/program/models.py
@@ -266,7 +266,7 @@ class Show(models.Model):
     created_at = models.DateTimeField(auto_now_add=True)
     created_by = models.CharField(max_length=150)
     default_playlist = models.ForeignKey(
-        "Playlist",
+        "Media",
         help_text="Playlist in case a timeslot’s playlist_id of this show is empty.",
         null=True,
         on_delete=models.SET_NULL,
@@ -438,7 +438,7 @@ class Schedule(models.Model):
         null=True,
     )
     default_playlist = models.ForeignKey(
-        "Playlist",
+        "Media",
         help_text="Playlist in case a timeslot’s playlist_id of this schedule is empty.",
         null=True,
         on_delete=models.SET_NULL,
@@ -558,7 +558,7 @@ class Episode(SimpleAuditMixin, models.Model):
     memo = models.TextField(blank=True, help_text="Memo for this episode.")
     show = models.ForeignKey(Show, on_delete=models.CASCADE, related_name="episodes")
     media = models.ForeignKey(
-        "Playlist",
+        "Media",
         blank=True,
         help_text="Media for this episode.",
         null=True,
@@ -620,7 +620,7 @@ class CBA(models.Model):
         return self.user.username
 
 
-class Playlist(models.Model):
+class Media(models.Model):
     created_at = models.DateTimeField(auto_now_add=True)
     created_by = models.CharField(max_length=150, default="root")
     description = models.TextField(blank=True)
@@ -659,7 +659,7 @@ class PlaylistEntry(models.Model):
     duration = models.FloatField(null=True, validators=[validate_positive_duration])
     file_id = models.IntegerField(null=True)
     order = models.IntegerField(null=False)
-    playlist = models.ForeignKey(Playlist, on_delete=models.CASCADE, related_name="entries")
+    media = models.ForeignKey(Media, on_delete=models.CASCADE, related_name="entries")
     uri = models.CharField(blank=True, max_length=1024)
 
     class Meta:
@@ -669,7 +669,7 @@ class PlaylistEntry(models.Model):
                 name="file-id-or-uri",
             )
         ]
-        ordering = ["playlist", "order"]
+        ordering = ["media", "order"]
 
     def __str__(self):
         return f"{self.uri} - {self.duration}" if self.duration else self.uri