diff --git a/djangoldp/serializers.py b/djangoldp/serializers.py
index b04506469137e9dde6166639e56031557fea5b12..75940ba9d7501bd284db1a3497526dd85db2902d 100644
--- a/djangoldp/serializers.py
+++ b/djangoldp/serializers.py
@@ -471,13 +471,19 @@ class LDPSerializer(HyperlinkedModelSerializer):
         nested_list_fields_name = list(filter(lambda key: isinstance(validated_data[key], list), validated_data))
         for field_name in nested_list_fields_name:
             nested_fields.append((field_name, validated_data.pop(field_name)))
-
+        validated_data = self.remove_empty_value(validated_data)
         instance = model.objects.create(**validated_data)
 
         self.save_or_update_nested_list(instance, nested_fields)
 
         return instance
 
+    def remove_empty_value(self, validated_data):
+        for attr, value in validated_data.items():
+            if value is '':
+                validated_data[attr] = None
+        return validated_data
+
     def update(self, instance, validated_data):
         nested_fields = []
         nested_fields_name = list(filter(lambda key: isinstance(validated_data[key], list), validated_data))
diff --git a/djangoldp/tests/models.py b/djangoldp/tests/models.py
index d0d16a23f5be4540254d9f7d5d2a67df5ddfac19..f3c6e88c11d33937f143c44ed2cd7bf078c8a7a4 100644
--- a/djangoldp/tests/models.py
+++ b/djangoldp/tests/models.py
@@ -96,6 +96,8 @@ class Task(models.Model):
 class Post(Model):
     content = models.CharField(max_length=255)
     author = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True)
+    peer_user = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, related_name="peers_post")
+
 
     class Meta:
         auto_author = 'author'
diff --git a/djangoldp/tests/tests_save.py b/djangoldp/tests/tests_save.py
index bb699bc68910b49605243f0f0d2c67f4ced2f169..d0acfadfa82e0171eee433e8e77798f37f3efb58 100644
--- a/djangoldp/tests/tests_save.py
+++ b/djangoldp/tests/tests_save.py
@@ -188,3 +188,29 @@ class Save(TestCase):
         self.assertNotIn('author', response.data)
         self.assertEquals(response.data['title'], "title")
         self.assertEquals(response.data['invoice']['title'], "title 3")
+
+    def test_post_should_accept_missing_field_id_nullable(self):
+        body = [
+            {
+                '@id': "./",
+                'http://happy-dev.fr/owl/#content': "post update",
+            }
+        ]
+        response = self.client.post('/posts/', data=json.dumps(body),
+                                    content_type='application/ld+json')
+        self.assertEqual(response.status_code, 201)
+        self.assertIn('peer_user', response.data)
+
+    def test_post_should_accept_empty_field_if_nullable(self):
+        body = [
+            {
+                '@id': "./",
+                'http://happy-dev.fr/owl/#content': "post update",
+                'http://happy-dev.fr/owl/#peer_user': ""
+            }
+        ]
+        response = self.client.post('/posts/', data=json.dumps(body),
+                                    content_type='application/ld+json')
+        self.assertEqual(response.status_code, 201)
+        self.assertEqual(response.data['peer_user'], None)
+
diff --git a/djangoldp/tests/tests_temp.py b/djangoldp/tests/tests_temp.py
index 578eb8a3bcb4c586bfb6b1a41e4795d9e6e3a370..03dfb977037b04c683aa9d60cd8397de5b01022c 100644
--- a/djangoldp/tests/tests_temp.py
+++ b/djangoldp/tests/tests_temp.py
@@ -1,3 +1,6 @@
+import json
+
+from django.contrib.auth.models import User
 from django.test import TestCase
 from rest_framework.test import APIRequestFactory, APIClient
 
@@ -9,6 +12,33 @@ class TestTemp(TestCase):
     def setUp(self):
         self.factory = APIRequestFactory()
         self.client = APIClient()
+        self.user = User.objects.create_user(username='john', email='jlennon@beatles.com', password='glass onion')
+
 
     def tearDown(self):
         pass
+
+    def test_post_should_accept_missing_field_id_nullable(self):
+        body = [
+            {
+                '@id': "./",
+                'http://happy-dev.fr/owl/#content': "post update",
+            }
+        ]
+        response = self.client.post('/posts/', data=json.dumps(body),
+                                   content_type='application/ld+json')
+        self.assertEqual(response.status_code, 201)
+        self.assertIn('peer_user', response.data)
+
+    def test_post_should_accept_empty_field_if_nullable(self):
+        body = [
+            {
+                '@id': "./",
+                'http://happy-dev.fr/owl/#content': "post update",
+                'http://happy-dev.fr/owl/#peer_user': ""
+            }
+        ]
+        response = self.client.post('/posts/', data=json.dumps(body),
+                                   content_type='application/ld+json')
+        self.assertEqual(response.status_code, 201)
+        self.assertEqual(response.data['peer_user'], None)