I have a view that filters out results for a posted search form:
def profile_advanced_search(request):
    args = {}
    if request.method == "POST":
        form = AdvancedSearchForm(request.POST)
        qs=[]
        if form.is_valid():
            cd = form.cleaned_data
            s_country=cd['country']
            s_province=cd['province']
            s_city = cd['city']
            if s_country: qs.append(Q(country__icontains = s_country))    
            if s_province: qs.append( Q(province__icontains=s_province))                
            if s_city: qs.append( Q(city__icontains=s_city))
            f = None
            for q in qs:
                if f is None: 
                    f=q 
                else: f &=q
            list = UserProfile.objects.filter(f).order_by('-created_at') 
    else:
        form = AdvancedSearchForm()
        list = UserProfile.objects.all().order_by('-created_at')
    paginator = Paginator(list,10)            
    page= request.GET.get('page')
    try:
        results = paginator.page(page)
    except PageNotAnInteger:
        results = paginator.page(1)  
    except EmptyPage:
            results = paginator.page(paginator.num_pages)        
    args.update(csrf(request))    
    args['form'] = form  
    args['results'] = results
    return render_to_response('userprofile/advanced_search.html', args,
                              context_instance=RequestContext(request))  
the urls.py part is:
url(r'^search/$', 'userprofile.views.profile_advanced_search'),
The results in the first page are fine but the problem is that when I go to the second page, the filtered results is just forgotten.
It is obvious to me why this happnes: filtering in the views accounts only for POST while pagination uses GET hence the queryset filter does not apply after the first page.
I have looked at several suggestions and snippets for similar problem but none was close enough to my views, so I could not figure out how to fix it and appreciate your help.
Update: here is the relevant template:
<form action="/search/" method="post">{% csrf_token %}
          <ul class="list-unstyled">
            <li><h3>Country</h3></li>
            <li>{{form.country}}</li><br> 
            <h4>Province</h4>
            <li>{{form.province}}</li>
              <h4>City</h4>
            <li>{{form.city}}</li>
          </ul>
<input  type="submit" name="submit"  value="search" />
 </form>
     Search Results:
{% for p in results %}
            <div">
                  <div>
                      <br>
                       <strong><a href="/profile/{{p.username}}" >{{p.username}}</a></strong>
                         {{p.country}} <br>
                         {{p.province}} <br>
                         {{p.city}} <br>
                     </div>
                  </div>
{% endfor %}
<div>
    <div class="pagination">
      {% if results.has_previous %}
          <a href="?page={{ results.previous_page_number }}"> << Prev </a>  
      {% endif %}
       {% if results.has_next %}
          <a href="?page={{ results.next_page_number }}"> Next >> </a>
      {% endif %}
    </div>
  </div>
</div>