diff --git a/program/utils.py b/program/utils.py
index 591dbdfd1aa1207e433ccb880274e1d7864e6ed8..ea2339091928af7c569746df3422306b07b4b59c 100644
--- a/program/utils.py
+++ b/program/utils.py
@@ -30,6 +30,8 @@ from django.utils import timezone
 
 if typing.TYPE_CHECKING:
     from program.models import Host, HostLink, Note, NoteLink, Show, ShowLink
+else:
+    from program.models import Host, HostLink, Note, NoteLink, Show, ShowLink
 
 
 class Link(TypedDict):
@@ -149,15 +151,16 @@ def update_links(
         for link in instance.links.all():
             link.delete(keep_parents=True)
 
-    match type(instance):
-        case "Host":
-            for link_data in links:
-                HostLink.objects.create(host=instance, **link_data)
-        case "Note":
-            for link_data in links:
-                NoteLink.objects.create(note=instance, **link_data)
-        case "Show":
-            for link_data in links:
-                ShowLink.objects.create(show=instance, **link_data)
+    if isinstance(instance, Host):
+        for link_data in links:
+            HostLink.objects.create(host=instance, **link_data)
+
+    if isinstance(instance, Note):
+        for link_data in links:
+            NoteLink.objects.create(note=instance, **link_data)
+
+    if isinstance(instance, Show):
+        for link_data in links:
+            ShowLink.objects.create(show=instance, **link_data)
 
     return instance