title: django-filter: only show filter options contained in queryset
body: <p>I'm using the excellent django-filter app to filter a queryset of model objects. However, when I .exclude() objects from the queryset in the view, the filter selectors in the template still show all available options - even those of objects I excluded from the queryset. Let's say my model and view look as follows:</p>
  
  <pre><code>#model
  [...]
  class Animal(models.Model):
      REGION_CHOICES = (
          (0, 'Africa'),
          (1, 'Europe'),
      )
  
      name = models.CharField(max_length=100)
      region = models.CharField(choices=REGION_CHOICES, max_length=100)
  [...]
  
  #view  
  [...]  
  qs = Animal.objects.all()
  filter = AnimalFilter(request.GET, qs)
  [...]
  </code></pre>
  
  <p>Assuming there are two animals in the database:</p>
  
  <pre><code>zebra = Animal(name='Zebra', region='Africa')
  frog = Animal(name='Frog', region'Europe')
  </code></pre>
  
  <p>When I render the filter in the template, I correctly get a selector for region which contains the two options Europe and Africa.
  But if I use some logic in the view to .exclude() objects from the queryset like this:</p>
  
  <pre><code>#view
  [...]
  qs = Animal.objects.all().exclude(name='Frog')
  filter = AnimalFilter(request.GET, qs)
  [...]
  </code></pre>
  
  <p>Now if I render the filter in the template I still get the two options <em>Europe</em> and <em>Africa</em> for region although the queryset only contains one animal which has the region <em>Africa</em>.
  Any ideas how I could get the correct options for the region field rendered in the template? Any help is greatly appreciated.</p>