Add: media count filed to the PostPreviewSerializer

This commit is contained in:
Aroy-Art 2025-03-10 10:15:45 +01:00
parent 49e7a464a5
commit 7dc8479801
Signed by: Aroy
GPG key ID: 583642324A1D2070

View file

@ -10,6 +10,7 @@ class PostPreviewSerializer(serializers.ModelSerializer):
description = serializers.SerializerMethodField() description = serializers.SerializerMethodField()
date = serializers.SerializerMethodField() date = serializers.SerializerMethodField()
media = serializers.SerializerMethodField() media = serializers.SerializerMethodField()
media_count = serializers.SerializerMethodField()
source_site = serializers.SerializerMethodField() source_site = serializers.SerializerMethodField()
category = serializers.SerializerMethodField() category = serializers.SerializerMethodField()
creator = serializers.SerializerMethodField() creator = serializers.SerializerMethodField()
@ -27,6 +28,7 @@ class PostPreviewSerializer(serializers.ModelSerializer):
"creator", "creator",
"date", "date",
"media", "media",
"media_count",
"tags", "tags",
] ]
@ -72,6 +74,9 @@ class PostPreviewSerializer(serializers.ModelSerializer):
data.append({"type": f_type, "mimetype": i.mimetype, "src": i.file.url}) data.append({"type": f_type, "mimetype": i.mimetype, "src": i.file.url})
return data return data
def get_media_count(self, obj: PostModel) -> int:
return obj.files.count()
def get_tags(self, obj: PostModel) -> List[str]: def get_tags(self, obj: PostModel) -> List[str]:
return [tag.slug for tag in obj.tags.all()] return [tag.slug for tag in obj.tags.all()]