title: Django filter queryset __in for *every* item in list
body: <p>Let's say I have the following models</p>
  
  <pre><code>class Photo(models.Model):
      tags = models.ManyToManyField(Tag)
  
  class Tag(models.Model):
      name = models.CharField(max_length=50)
  </code></pre>
  
  <p>In a view I have a list with active filters called <em>categories</em>.
  I want to filter Photo objects which have all tags present in <em>categories</em>. </p>
  
  <p>I tried:</p>
  
  <pre><code>Photo.objects.filter(tags__name__in=categories)
  </code></pre>
  
  <p>But this matches <em>any</em> item in categories, not <em>all</em> items.</p>
  
  <p>So if categories would be ['holiday', 'summer'] I want Photo's with both a holiday and summer tag.</p>
  
  <p>Can this be achieved?</p>