Skip to content

Commit

Permalink
Added fix for missing media_type on save. Created new to_representati…
Browse files Browse the repository at this point in the history
…on to fetch proper display name and added a serializer.ChoiceField to handle the choices option.
  • Loading branch information
BethanyG committed May 3, 2020
1 parent d289ecd commit 2aadeea
Showing 1 changed file with 9 additions and 6 deletions.
15 changes: 9 additions & 6 deletions project/resources/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,19 @@
from tagging.serializers import TagSerializer, TagsSerializerField


class MediaTypeSerializerField(serializers.ChoiceField):

def to_representation(self, value):
return "" if not value else self.choices[value]

def to_internal_value(self, value):
return value


class ResourceSerializer(TagSerializer, serializers.ModelSerializer):

tags = TagsSerializerField(model_field='tags', default='')
media_type = serializers.SerializerMethodField()
media_type = MediaTypeSerializerField(choices=Resource.RESOURCE_TYPES, allow_blank=True)
user = UserSerializer(read_only=True)

class Meta:
Expand All @@ -31,8 +39,3 @@ class Meta:
'paid',
'tags'
)


def get_media_type(self, obj):
return obj.get_media_type_display()

0 comments on commit 2aadeea

Please sign in to comment.