1 """ |
1 """ |
2 Serializers for model core classes |
2 Serializers for model core classes |
3 """ |
3 """ |
|
4 import logging |
|
5 |
|
6 from notes.models import Note, Session |
4 from rest_framework import serializers |
7 from rest_framework import serializers |
5 |
8 |
6 from notes.models import Note, Session |
9 logger = logging.getLogger(__name__) |
7 |
10 |
8 |
11 |
9 class DetailNoteSerializer(serializers.ModelSerializer): |
12 class DetailNoteSerializer(serializers.ModelSerializer): |
10 class Meta: |
13 class Meta: |
11 model = Note |
14 model = Note |
14 'plain', 'html', 'raw', |
17 'plain', 'html', 'raw', |
15 'categorization', 'margin_note', 'tc_start', 'tc_end' |
18 'categorization', 'margin_note', 'tc_start', 'tc_end' |
16 ) |
19 ) |
17 read_only_fields = ('ext_id', 'version', 'created', 'updated') |
20 read_only_fields = ('ext_id', 'version', 'created', 'updated') |
18 |
21 |
|
22 class CreateNoteSerializer(serializers.ModelSerializer): |
|
23 class Meta: |
|
24 model = Note |
|
25 fields = ( |
|
26 'ext_id', 'version', 'created', 'updated', |
|
27 'plain', 'html', 'raw', |
|
28 'categorization', 'margin_note', 'tc_start', 'tc_end' |
|
29 ) |
|
30 read_only_fields = ('version', 'created', 'updated') |
|
31 |
|
32 def to_internal_value(self, data): |
|
33 super_data = super().to_internal_value(data) |
|
34 super_data['session'] = Session.objects.get( |
|
35 ext_id=self.context['view'].kwargs['session_ext_id'] |
|
36 ) |
|
37 return super_data |
19 |
38 |
20 class ListNoteSerializer(serializers.ModelSerializer): |
39 class ListNoteSerializer(serializers.ModelSerializer): |
21 class Meta: |
40 class Meta: |
22 model = Note |
41 model = Note |
23 fields = ( |
42 fields = ( |