From 2f6788bf36061e0eecf61eb4c275b0431709c092 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste <bleme@pm.me>
Date: Mon, 4 Feb 2019 16:36:52 +0100
Subject: [PATCH] update: manage auto_author on serializer.is_valid

---
 djangoldp/serializers.py  | 10 ++++++++--
 djangoldp/tests/models.py |  4 +++-
 djangoldp/tests/tests.py  |  2 +-
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/djangoldp/serializers.py b/djangoldp/serializers.py
index c7489448..8b3d60d6 100644
--- a/djangoldp/serializers.py
+++ b/djangoldp/serializers.py
@@ -2,6 +2,7 @@ from django.core.exceptions import ImproperlyConfigured
 from django.core.urlresolvers import get_resolver
 from django.utils.datastructures import MultiValueDictKeyError
 from guardian.shortcuts import get_perms
+from rest_framework.fields import empty
 from rest_framework.relations import HyperlinkedRelatedField, ManyRelatedField, MANY_RELATION_KWARGS
 from rest_framework.serializers import HyperlinkedModelSerializer, ListSerializer
 from rest_framework.utils.field_mapping import get_nested_relation_kwargs
@@ -38,7 +39,6 @@ class ContainerSerializer(LDListMixin, ListSerializer):
         return ReturnDict(super(ListSerializer, self).data, serializer=self)
 
     def create(self, validated_data):
-        print(validated_data)
         return super().create(validated_data)
 
     def to_internal_value(self, data):
@@ -112,8 +112,14 @@ class LDPSerializer(HyperlinkedModelSerializer):
     def get_default_field_names(self, declared_fields, model_info):
         try:
             fields = list(self.Meta.model._meta.serializer_fields)
-        except:
+        except AttributeError:
             fields = super().get_default_field_names(declared_fields, model_info)
+        try:
+            fields.remove(self.Meta.model._meta.auto_author)
+        except ValueError:
+            pass
+        except AttributeError:
+            pass
         return fields + list(getattr(self.Meta, 'extra_fields', []))
 
     def to_representation(self, obj):
diff --git a/djangoldp/tests/models.py b/djangoldp/tests/models.py
index 7a0760a4..d8e0e76b 100644
--- a/djangoldp/tests/models.py
+++ b/djangoldp/tests/models.py
@@ -1,3 +1,4 @@
+from django.conf import settings
 from django.db import models
 
 
@@ -7,4 +8,5 @@ class Skill(models.Model):
 
 class JobOffer(models.Model):
     title = models.CharField(max_length=255, blank=True, null=True)
-    skills = models.ManyToManyField(Skill, blank=True)
\ No newline at end of file
+    skills = models.ManyToManyField(Skill, blank=True)
+
diff --git a/djangoldp/tests/tests.py b/djangoldp/tests/tests.py
index e101f69a..a8f6f6cd 100644
--- a/djangoldp/tests/tests.py
+++ b/djangoldp/tests/tests.py
@@ -17,7 +17,7 @@ class Serializer(TestCase):
                    ]}
                }
 
-        meta_args = {'model': JobOffer, 'depth': 2, 'fields': ("@id", "title", "skills")}
+        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})
-- 
GitLab