|
|
|
@ -10,7 +10,7 @@ from rest_framework.response import Response |
|
|
|
from django.db.models import Count |
|
|
|
from django.db.models import Prefetch |
|
|
|
from ..serializers.category import get_localized_text |
|
|
|
from ..models import Transmitters, HadisCategory, Hadis, HadisCollection,HadisTransmitter , HadisCorrection ,HadisReference, HadisStatus ,ReferenceImage |
|
|
|
from ..models import Transmitters, HadisCategory, Hadis, HadisCollection,HadisTransmitter , HadisCorrection ,HadisReference, HadisStatus ,ReferenceImage, CorrectionReference, HadisInterpretation, InterpretationReference |
|
|
|
from ..serializers import HadisListSerializer, HadisBasicSerializer, HadisDetailSerializer, HadisCollectionListSerializer, HadisSyncSerializer,HadisCorrectionSerializer,HadisTransmitterListSerializer , SimpleCategory, NarratorLayerSerializer , PinnedHadisCollectionSerializer, HadisSourceDetailsSerializer |
|
|
|
from ..docs import arguments_filters_swagger ,hadis_list_swagger, hadis_detail_swagger, hadis_collections_swagger, hadis_sync_swagger, hadis_transmitters_swagger, hadis_corrections_swagger, hadis_basic_swagger, hadis_main_list_swagger, hadis_layers_swagger |
|
|
|
from django.db.models import Q |
|
|
|
@ -143,24 +143,44 @@ class HadisSyncView(ListAPIView): |
|
|
|
) |
|
|
|
) |
|
|
|
), |
|
|
|
# 👇 اضافه شدن واکشی عمیق برای تصحیحات |
|
|
|
# 👇 اضافه شدن واکشی عمیق برای تصحیحات (بدون N+1) |
|
|
|
Prefetch( |
|
|
|
'hadiscorrection_set', |
|
|
|
queryset=HadisCorrection.objects.select_related('hadis').prefetch_related( |
|
|
|
'references__book_reference__author', |
|
|
|
'references__edition', |
|
|
|
'references__book_volume', |
|
|
|
'references__images' |
|
|
|
Prefetch( |
|
|
|
'references', |
|
|
|
queryset=CorrectionReference.objects.select_related( |
|
|
|
'book_reference', |
|
|
|
'book_reference__author', |
|
|
|
'edition', |
|
|
|
'book_volume', |
|
|
|
'book_volume__edition' |
|
|
|
).prefetch_related( |
|
|
|
'images', |
|
|
|
'book_reference__editions', |
|
|
|
'book_reference__volumes' |
|
|
|
) |
|
|
|
) |
|
|
|
) |
|
|
|
), |
|
|
|
# 👇 اضافه شدن واکشی عمیق برای تفاسیر |
|
|
|
# 👇 اضافه شدن واکشی عمیق برای تفاسیر (بدون N+1) |
|
|
|
Prefetch( |
|
|
|
'category__interpretations', |
|
|
|
queryset=HadisInterpretation.objects.select_related('category').prefetch_related( |
|
|
|
'references__book_reference__author', |
|
|
|
'references__edition', |
|
|
|
'references__book_volume', |
|
|
|
'references__images' |
|
|
|
Prefetch( |
|
|
|
'references', |
|
|
|
queryset=InterpretationReference.objects.select_related( |
|
|
|
'book_reference', |
|
|
|
'book_reference__author', |
|
|
|
'edition', |
|
|
|
'book_volume', |
|
|
|
'book_volume__edition' |
|
|
|
).prefetch_related( |
|
|
|
'images', |
|
|
|
'book_reference__editions', |
|
|
|
'book_reference__volumes' |
|
|
|
) |
|
|
|
) |
|
|
|
) |
|
|
|
), |
|
|
|
) |
|
|
|
|