def METHOD_NAME(self, queryset):
    query = self.cleaned_data.get('query', '')
    country = self.cleaned_data.get('country', '')
    state = self.cleaned_data.get('state', '')
    city = self.cleaned_data.get('city', '')
    # zipcode = self.cleaned_data.get('zipcode', '')
    filter_params = {}
    if country:
        filter_params['country'] = country
    if state:
        filter_params['state'] = state
    if city:
        filter_params['city'] = city
    # if zipcode:
    #     filter_params['zipcode'] = zipcode
    queryset = queryset.filter(**filter_params)
    if query:
        queryset = queryset.filter(Q(location_name__icontains=query)|
                                   Q(contact__icontains=query)|
                                   Q(address__icontains=query)|
                                   Q(phone__icontains=query)|
                                   Q(email__icontains=query))
    return queryset