src/p4l/api/serializers.py
changeset 117 0a4e7d6ebe80
parent 105 62e4429f55cd
child 126 a345f1a67bf1
--- a/src/p4l/api/serializers.py	Mon Sep 23 00:38:16 2013 +0200
+++ b/src/p4l/api/serializers.py	Wed Sep 25 22:14:51 2013 +0200
@@ -79,7 +79,8 @@
             if value in (None, ''):
                 into[(self.source or field_name)] = None
             elif self.many and hasattr(value, '__iter__'):
-                obj.all().delete()
+                if obj is not None:
+                    obj.all().delete()
                 nested_items = []
                 for val in value:
                     kwargs = {
@@ -118,19 +119,18 @@
     Serializer for record
     '''
     language = ThesaurusSerializer(many=False, required=False, slug_field='uri') 
-    otherLanguages = ThesaurusSerializer(many=True, slug_field='uri')
-    subjects = ThesaurusSerializer(many=True, slug_field='uri')
-    themes = ThesaurusSerializer(many=True, slug_field='uri')
-    countries = ThesaurusSerializer(many=True, slug_field='uri')
-    projectNames = ThesaurusSerializer(many=True, slug_field='uri')
-    subjectCorporateBodies = ThesaurusSerializer(many=True, slug_field='uri') 
-    corporateAuthors = ThesaurusSerializer(many=True, slug_field='uri')
-    audiences = ThesaurusSerializer(many=True, slug_field='uri')
+    otherLanguages = ThesaurusSerializer(many=True, required=False, slug_field='uri')
+    subjects = ThesaurusSerializer(many=True, required=False, slug_field='uri')
+    themes = ThesaurusSerializer(many=True, required=False, slug_field='uri')
+    countries = ThesaurusSerializer(many=True, required=False, slug_field='uri')
+    projectNames = ThesaurusSerializer(many=True, required=False, slug_field='uri')
+    subjectCorporateBodies = ThesaurusSerializer(many=True, required=False, slug_field='uri') 
+    corporateAuthors = ThesaurusSerializer(many=True, required=False, slug_field='uri')
+    audiences = ThesaurusSerializer(many=True, required=False, slug_field='uri')
 
     class Meta:
         model = Record
         depth = 1
-        read_only_fields = ('identifier', 'uri')
         fields = ("identifier", "uri", "subjects", "notes", "otherLanguages",
                   "language", "editionStatement", "recordType", "isDocumentPart",
                   "hidden", "restricted", "themes", "countries", "projectNames",