src/notes/api/serializers/core.py
changeset 74 043477fd5c5c
parent 71 75dc1e794cf4
child 83 76a4e4b11762
--- a/src/notes/api/serializers/core.py	Thu Jun 22 11:58:27 2017 +0200
+++ b/src/notes/api/serializers/core.py	Thu Jun 22 12:09:48 2017 +0200
@@ -1,9 +1,12 @@
 """
 Serializers for model core classes
 """
+import logging
+
+from notes.models import Note, Session
 from rest_framework import serializers
 
-from notes.models import Note, Session
+logger = logging.getLogger(__name__)
 
 
 class DetailNoteSerializer(serializers.ModelSerializer):
@@ -16,6 +19,22 @@
         )
         read_only_fields = ('ext_id', 'version', 'created', 'updated')
 
+class CreateNoteSerializer(serializers.ModelSerializer):
+    class Meta:
+        model = Note
+        fields = (
+            'ext_id', 'version', 'created', 'updated',
+            'plain', 'html', 'raw',
+            'categorization', 'margin_note', 'tc_start', 'tc_end'
+        )
+        read_only_fields = ('version', 'created', 'updated')
+
+    def to_internal_value(self, data):
+        super_data = super().to_internal_value(data)
+        super_data['session'] = Session.objects.get(
+            ext_id=self.context['view'].kwargs['session_ext_id']
+        )
+        return super_data
 
 class ListNoteSerializer(serializers.ModelSerializer):
     class Meta: