|
|
|
@ -40,14 +40,19 @@ class TransmitterView(ListAPIView): |
|
|
|
madhhab_filter = self.request.query_params.get('madhhab', None) |
|
|
|
generation_filter = self.request.query_params.get('generation', None) |
|
|
|
|
|
|
|
# 1. Apply search filter (Searching across name-related JSONFields) |
|
|
|
# 1. Apply search filter (Searching across name-related JSONFields, slug, legacy_id) |
|
|
|
if search_query: |
|
|
|
queryset = queryset.filter( |
|
|
|
q_filter = ( |
|
|
|
Q(full_name__icontains=search_query) | |
|
|
|
Q(kunya__icontains=search_query) | |
|
|
|
Q(known_as__icontains=search_query) | |
|
|
|
Q(nickname__icontains=search_query) |
|
|
|
Q(nickname__icontains=search_query) | |
|
|
|
Q(slug__icontains=search_query) | |
|
|
|
Q(legacy_id__icontains=search_query) |
|
|
|
) |
|
|
|
if search_query.isdigit(): |
|
|
|
q_filter |= Q(legacy_number=int(search_query)) | Q(generation=int(search_query)) |
|
|
|
queryset = queryset.filter(q_filter) |
|
|
|
|
|
|
|
# 2. Apply categorical filters |
|
|
|
if status_filter: |
|
|
|
|