Coverage for website/thabloid/api/v2/serializers.py: 85.71%

14 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2025-08-14 10:31 +0000

1from rest_framework import serializers 

2 

3from thabloid.models.thabloid import Thabloid 

4from thaliawebsite.api.v2.serializers.cleaned_model_serializer import ( 

5 CleanedModelSerializer, 

6) 

7from utils.media.services import get_media_url 

8 

9 

10class ThabloidSerializer(CleanedModelSerializer): 

11 """API Serializer for thabloids.""" 

12 

13 file = serializers.SerializerMethodField() 

14 cover = serializers.SerializerMethodField() 

15 

16 class Meta: 

17 """Meta class for the serializer.""" 

18 

19 model = Thabloid 

20 fields = ("pk", "year", "issue", "cover", "file") 

21 

22 def get_cover(self, instance): 

23 return get_media_url(instance.cover, absolute_url=True) 

24 

25 def get_file(self, instance): 

26 return get_media_url(instance.file, absolute_url=True)