From 448e1100b23c369a50fc94ccb38efa558d8b0798 Mon Sep 17 00:00:00 2001 From: Ernesto Rico Schmidt <ernesto@helsinki.at> Date: Thu, 28 Jul 2022 10:17:47 -0400 Subject: [PATCH] Introduce SerializerWithIdNameSlugIsActive and LinkSerializer. --- program/serializers.py | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/program/serializers.py b/program/serializers.py index 0196c9cf..cee5711d 100644 --- a/program/serializers.py +++ b/program/serializers.py @@ -160,12 +160,16 @@ class CategorySerializer(serializers.ModelSerializer): fields = ("id", "name", "subtitle", "slug", "is_active", "description") -class HostLinkSerializer(serializers.ModelSerializer): +class LinkSerializer(serializers.ModelSerializer): class Meta: - model = HostLink fields = ("description", "url") +class HostLinkSerializer(LinkSerializer): + class Meta: + model = HostLink + + class HostSerializer(serializers.ModelSerializer): links = HostLinkSerializer(many=True, required=False) thumbnails = serializers.SerializerMethodField() @@ -236,34 +240,34 @@ class LanguageSerializer(serializers.ModelSerializer): fields = ("id", "name", "is_active") -class TopicSerializer(serializers.ModelSerializer): +class SerializerWithIdNameSlugIsActive(serializers.ModelSerializer): class Meta: - model = Topic fields = ("id", "name", "slug", "is_active") -class MusicFocusSerializer(serializers.ModelSerializer): +class TopicSerializer(SerializerWithIdNameSlugIsActive): + class Meta: + model = Topic + + +class MusicFocusSerializer(SerializerWithIdNameSlugIsActive): class Meta: model = MusicFocus - fields = ("id", "name", "slug", "is_active") -class TypeSerializer(serializers.ModelSerializer): +class TypeSerializer(SerializerWithIdNameSlugIsActive): class Meta: model = Type - fields = ("id", "name", "slug", "is_active") -class FundingCategorySerializer(serializers.ModelSerializer): +class FundingCategorySerializer(SerializerWithIdNameSlugIsActive): class Meta: model = FundingCategory - fields = ("id", "name", "slug", "is_active") -class ShowLinkSerializer(serializers.ModelSerializer): +class ShowLinkSerializer(LinkSerializer): class Meta: model = ShowLink - fields = ("description", "url") class ShowSerializer(serializers.HyperlinkedModelSerializer): @@ -597,10 +601,9 @@ class TimeSlotSerializer(serializers.ModelSerializer): return instance -class NoteLinkSerializer(serializers.ModelSerializer): +class NoteLinkSerializer(LinkSerializer): class Meta: model = NoteLink - fields = ("description", "url") class NoteSerializer(serializers.ModelSerializer): -- GitLab