From 0ecd97c9ee305b4b951a9b48907044772c641b87 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste <bleme@pm.me>
Date: Mon, 4 Feb 2019 16:53:51 +0100
Subject: [PATCH] fix: empty many_to_many should not failed validation

---
 djangoldp/serializers.py |  1 +
 djangoldp/tests/tests.py | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/djangoldp/serializers.py b/djangoldp/serializers.py
index 8b3d60d6..530cc1f8 100644
--- a/djangoldp/serializers.py
+++ b/djangoldp/serializers.py
@@ -149,6 +149,7 @@ class LDPSerializer(HyperlinkedModelSerializer):
 
         kwargs = get_nested_relation_kwargs(relation_info)
         kwargs['read_only'] = False
+        kwargs['required'] = False
         return NestedLDPSerializer, kwargs
 
     @classmethod
diff --git a/djangoldp/tests/tests.py b/djangoldp/tests/tests.py
index a8f6f6cd..647b26c3 100644
--- a/djangoldp/tests/tests.py
+++ b/djangoldp/tests/tests.py
@@ -27,3 +27,19 @@ class Serializer(TestCase):
 
         self.assertEquals(result.title, "job test")
         self.assertIs(result.skills.count(), 2)
+
+    def test_save_without_nested_fields(self):
+        skill1 = Skill.objects.create(title="skill1")
+        skill2 = Skill.objects.create(title="skill2")
+        job = {"title": "job test"}
+
+        meta_args = {'model': JobOffer, 'depth': 1, 'fields': ("@id", "title", "skills")}
+
+        meta_class = type('Meta', (), meta_args)
+        serializer_class = type(LDPSerializer)('JobOfferSerializer', (LDPSerializer,), {'Meta': meta_class})
+        serializer = serializer_class(data=job)
+        serializer.is_valid()
+        result = serializer.save()
+
+        self.assertEquals(result.title, "job test")
+        self.assertIs(result.skills.count(), 0)
-- 
GitLab