diff --git a/program/views.py b/program/views.py index ceec1eb5c802edd693e74d0e751da9f86d3ba665..194fdd5949968e6c16370ed0a378411648561755 100644 --- a/program/views.py +++ b/program/views.py @@ -310,27 +310,32 @@ class APIShowViewSet(viewsets.ModelViewSet): shows = shows.filter(is_public=False) if owner := self.request.query_params.get('owner'): - # Filter shows by owner - shows = shows.filter(owners__in=[int(owner)]) + if owner != 'undefined': + shows = shows.filter(owners__in=[int(owner)]) if host := self.request.query_params.get('host'): - # Filter shows by host - shows = shows.filter(hosts__in=[int(host)]) + if host != 'undefined': + shows = shows.filter(hosts__in=[int(host)]) if language := self.request.query_params.get('language'): - shows = shows.filter(language__in=[int(language)]) + if language != 'undefined': + shows = shows.filter(language__in=[int(language)]) if type_ := self.request.query_params.get('type'): - shows = shows.filter(type__in=[int(type_)]) + if type_ != 'undefined': + shows = shows.filter(type__in=[int(type_)]) if category := self.request.query_params.get('category'): - shows = shows.filter(category__in=[int(category)]) + if category != 'undefined': + shows = shows.filter(category__in=[int(category)]) if topic := self.request.query_params.get('topic'): - shows = shows.filter(topic__in=[int(topic)]) + if topic != 'undefined': + shows = shows.filter(topic__in=[int(topic)]) if musicfocus := self.request.query_params.get('musicfocus'): - shows = shows.filter(musicfocus__in=[int(musicfocus)]) + if musicfocus != 'undefined': + shows = shows.filter(musicfocus__in=[int(musicfocus)]) return shows