title: django-filter more results when explicitly setting a filter value
body: <p>I am trying to understand what happens what a field specified in the <code>filterset_fields</code> of the viewset is not specified.
  My viewset is the following:</p>
  <pre><code>class DetectionTrainingViewSet(
          mixins.ListModelMixin,
          mixins.RetrieveModelMixin,
          viewsets.GenericViewSet
      ):
      queryset = Detection.objects.all()
      serializer_class = DetectionSerializer
      filterset_fields = (
          'annotation_set__annotator__id',
          'annotation_set__bbox__annotator__id',
      )
  </code></pre>
  <p>I am making the following GET calls my endpoint <a href="http://127.0.0.1:8000/api/v1/detections/" rel="nofollow noreferrer">http://127.0.0.1:8000/api/v1/detections/</a>:</p>
  <ul>
  <li><code>?annotation_set__annotator__id=2</code> -&gt; I get 4 results</li>
  <li><code>?annotation_set__annotator__id=2&amp;annotation_set__bbox__annotator__id=2</code> -&gt; I get 16 results
  I expected the second call to return a subset of the following one. What's happening here? How can I specify that when a parameter is not explicitly specified any value (if it does not exist) should match the query?</li>
  </ul>