title: Django: check if value in values_list with & without prefetch_related/select_related
body: <p>I've observed this behavior and I don't quite understand.  Let say I make a query:</p>
  
  <pre><code>result = model.objects.all()
  result_pks = result.values_list("id",flat=True)
  print result_pks
  </code></pre>
  
  <p>And I get:</p>
  
  <pre><code>[1,2,3,4]
  </code></pre>
  
  <p>Then I want to check if a certain value is in the list of pks returned:</p>
  
  <pre><code>val = 2
  print val in result_pks
  </code></pre>
  
  <p>This will return True, but if instead I change result to:</p>
  
  <pre><code>result = model.objects.prefetch_related("related_field").all()
  result_pks = result.values_list("id",flat=True)
  print result_pks
  </code></pre>
  
  <p>I still get:</p>
  
  <pre><code>[1,2,3,4]
  </code></pre>
  
  <p>But when I do:</p>
  
  <pre><code>val=2
  print val in result_pks
  </code></pre>
  
  <p>I get False. I tried using select_related instead, and that returned True as I expected. Can someone explain to me why the difference?</p>