'Override get method to tune the search.'

def get(self, request, *args, **kwargs):

    results = self.get_list()
    country_id = self.forwarded.get('country')
    region_id = self.forwarded.get('region')
    city_id = self.forwarded.get('city')
    country_code = None
    if city_id:
        city = City.objects.get(id=city_id)
        country_code = city.country.code2
    elif region_id:
        region = Region.objects.get(id=region_id)
        country_code = region.country.code2
    elif country_id:
        country = Country.objects.get(id=country_id)
        country_code = country.code2
    if country_code:
        results = country_timezones(country_code)
    if self.q:
        results = [item for item in results if (self.q.lower() in item.lower())]
    return JsonResponse({'results': [dict(id=x, text=x) for x in results]})
