|
|
|
@ -230,10 +230,23 @@ class AdminHadisDetailSerializer(serializers.ModelSerializer): |
|
|
|
return hadis |
|
|
|
|
|
|
|
|
|
|
|
class AdminHadisCorrectionSerializer(serializers.ModelSerializer): |
|
|
|
hadis_detail = AdminHadisListSerializer(source="hadis", read_only=True) |
|
|
|
class AdminHadisBriefSerializer(serializers.ModelSerializer): |
|
|
|
class Meta: |
|
|
|
model = Hadis |
|
|
|
fields = ["id", "number", "title"] |
|
|
|
|
|
|
|
bookmark_count = serializers.SerializerMethodField() |
|
|
|
|
|
|
|
class AdminHadisCategoryBriefSerializer(serializers.ModelSerializer): |
|
|
|
title = LocalizedField() |
|
|
|
|
|
|
|
class Meta: |
|
|
|
model = HadisCategory |
|
|
|
fields = ["id", "title"] |
|
|
|
|
|
|
|
|
|
|
|
class AdminHadisCorrectionSerializer(serializers.ModelSerializer): |
|
|
|
hadis_detail = AdminHadisBriefSerializer(source="hadis", read_only=True) |
|
|
|
bookmark_count = serializers.IntegerField(source="annotated_bookmark_count", read_only=True) |
|
|
|
|
|
|
|
class Meta: |
|
|
|
model = HadisCorrection |
|
|
|
@ -252,13 +265,9 @@ class AdminHadisCorrectionSerializer(serializers.ModelSerializer): |
|
|
|
] |
|
|
|
read_only_fields = ["id", "slug", "bookmark_count", "created_at", "updated_at"] |
|
|
|
|
|
|
|
def get_bookmark_count(self, obj): |
|
|
|
from apps.bookmark.models.bookmark import Bookmark |
|
|
|
return Bookmark.objects.filter(service=Bookmark.ServiceChoices.HADITH_CORRECTION, content_id=obj.id, status=True).count() |
|
|
|
|
|
|
|
|
|
|
|
class AdminHadisInterpretationSerializer(serializers.ModelSerializer): |
|
|
|
category_detail = AdminHadisCategorySerializer(source="category", read_only=True) |
|
|
|
category_detail = AdminHadisCategoryBriefSerializer(source="category", read_only=True) |
|
|
|
|
|
|
|
class Meta: |
|
|
|
model = HadisInterpretation |
|
|
|
|