From 20a9b245f784e93f4b1fb4cef7fccf65bf515a94 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste <bleme@pm.me>
Date: Tue, 12 Feb 2019 14:39:36 +0100
Subject: [PATCH] update: allow update and create on PUT or POST with @graph
 input

---
 djangoldp/serializers.py | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/djangoldp/serializers.py b/djangoldp/serializers.py
index ab70d648..70dc8ac7 100644
--- a/djangoldp/serializers.py
+++ b/djangoldp/serializers.py
@@ -38,7 +38,21 @@ class LDListMixin:
             view_name = '{}-list'.format(self.parent.Meta.model._meta.object_name.lower())
             part_id = '/{}'.format(get_resolver().reverse_dict[view_name][0][0][0], self.parent.instance.pk)
             obj = next(filter(lambda o: part_id in o['@id'], object_list))
-            return super().get_value(obj)
+            list = super().get_value(obj);
+            try:
+                list= list['ldp:contains']
+            except KeyError:
+                pass
+
+            ret=[]
+            for item in list:
+                fullItem = next(filter(lambda o: item['@id'] == o['@id'], object_list))
+                if fullItem is None:
+                    ret.append(item)
+                else:
+                    ret.append(fullItem)
+
+            return ret
         except KeyError:
             return super().get_value(dictionary)
 
-- 
GitLab