From dc61e42367831cbb0f5cb8b4ca0943d5740800d6 Mon Sep 17 00:00:00 2001
From: Ernesto Rico Schmidt <ernesto@helsinki.at>
Date: Wed, 2 Feb 2022 17:29:18 -0400
Subject: [PATCH] Ensure instance/validated_data links are iterable

---
 program/serializers.py | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/program/serializers.py b/program/serializers.py
index b6098d2a..f9430050 100644
--- a/program/serializers.py
+++ b/program/serializers.py
@@ -158,11 +158,13 @@ class HostSerializer(serializers.ModelSerializer):
         instance.image = validated_data.get('image', instance.image)
         instance.ppoi = validated_data.get('ppoi', instance.ppoi)
 
-        for link in instance.links.all():
-            link.delete(keep_parents=True)
+        if instance.links.count() > 0:
+            for link in instance.links.all():
+                link.delete(keep_parents=True)
 
-        for link_data in validated_data.get('links'):
-            Link.objects.create(host=instance, **link_data)
+        if links := validated_data.get('links'):
+            for link_data in links:
+                Link.objects.create(host=instance, **link_data)
 
         instance.save()
 
-- 
GitLab