(self, queryset, value)
| 760 | Filter channels by EPG source name or null (unlinked). |
| 761 | """ |
| 762 | def filter(self, queryset, value): |
| 763 | if not value: |
| 764 | return queryset |
| 765 | |
| 766 | # Split comma-separated values |
| 767 | values = [v.strip() for v in value.split(',')] |
| 768 | query = Q() |
| 769 | |
| 770 | for val in values: |
| 771 | if val == 'null': |
| 772 | # Filter for channels with no EPG data |
| 773 | query |= Q(epg_data__isnull=True) |
| 774 | else: |
| 775 | # Filter for channels with specific EPG source name |
| 776 | query |= Q(epg_data__epg_source__name__icontains=val) |
| 777 | |
| 778 | return queryset.filter(query) |
| 779 | |
| 780 | |
| 781 | class ChannelFilter(django_filters.FilterSet): |
no outgoing calls